[00:00] dannyamey has joined the channel [00:00] styol has joined the channel [00:01] brianloveswords has joined the channel [00:01] jacobolus has joined the channel [00:01] asdfgh has joined the channel [00:02] andreyvit has joined the channel [00:02] asdfgh: not sure if this is the sort of thing to ask in here. but if i wanted to download a page from another site how would i do it? [00:03] polotek: asdfgh: be a little more specific [00:03] CoverSlide: right click -> save as [00:03] CoverSlide: ctrl+S [00:03] asdfgh: using node [00:03] CoverSlide: ohhhhh!!!! [00:03] polotek: do you want the html? do you want a dom you can play with? [00:04] asdfgh: DOM would be nice. [00:04] polotek: CoverSlide: today we're gonna talk about "helpful" and "not helpful" :P [00:04] asdfgh: CoverSlide: im not that stupid [00:04] polotek: asdfgh: you want jsdom [00:05] bradleyg has joined the channel [00:05] CoverSlide: http.get({host: '...'}, function(res){res.pipe(fs.createWriteStream('filename.html'))}) [00:07] asdfgh: polotek: cheers [00:07] nicholasf has joined the channel [00:07] CoverSlide: http.get({host: '...', path: '/'}, function(res){res.pipe(fs.createWriteStream('filename.html'))}) [00:07] CoverSlide: :( [00:07] thalll has joined the channel [00:08] polotek: request({url:'http://hostname.com/path'}).pipe(fs.createWriteStream('filename.html')); [00:09] CoverSlide: request is nice, too [00:11] imtzo has joined the channel [00:11] prettyrobots has joined the channel [00:12] liar has joined the channel [00:14] sprinklyPoo has joined the channel [00:15] sprinklyPoo: with a fs.readFile, would I ever have to call fs.close anywhere? [00:16] djbell has joined the channel [00:16] insin has joined the channel [00:17] mbthomas has left the channel [00:17] mikeal has joined the channel [00:17] Ownatik has joined the channel [00:17] blueadept: YO YO [00:17] blueadept: sup #node.js [00:17] wrea has joined the channel [00:17] blueadept: killing it as usual? [00:17] blueadept: thought so... [00:18] prettyrobots has joined the channel [00:19] asdfgh: anyone recomend a XML parser? [00:19] sprinklyPoo: It's dead quiet in here actually. [00:19] sprinklyPoo: ewww, use json :) [00:19] asdfgh: not my choice [00:19] tuhoojabotti: asdfgh: Try regex [00:19] k_89 has joined the channel [00:19] tuhoojabotti: ACTION hides [00:19] Raynos: So who knows how the internal module.js file works? [00:20] sprinklyPoo: god [00:20] Raynos: tuhoojabotti++ [00:20] catb0t: tuhoojabotti now has 1 beer [00:20] sprinklyPoo: :) [00:20] asdfgh: trying to parse some XML from another site [00:20] tuhoojabotti: :) [00:20] sprinklyPoo: did you know node.js was created by god. It's true, I'm a node creationist. [00:21] Raynos: The following doesn't work properly: https://gist.github.com/1488651 [00:21] Raynos: I don't know what the second parameter parent is supposed to be [00:21] reid has joined the channel [00:21] SubStack: Raynos: the require() implementation? [00:21] Sample has left the channel [00:21] Raynos: Yeah basically [00:21] SubStack: it's implemented in the docs [00:22] SubStack: isaacs added it [00:22] SubStack: also I implemented it for browserify [00:22] SubStack: oh wait this is different in your gist [00:22] Raynos: updated: https://gist.github.com/1488651 [00:22] Raynos: I mean this guy : https://github.com/joyent/node/blob/master/lib/module.js [00:23] Raynos: I'm basically trying to figure out what's going on and i'm not doing a good job of it :) [00:24] Raynos: If someone else has already implemented an asynchronous require that would be awesome too [00:24] chrismatthieu: I just built & deployed a Node.JS app to @nodester in 39 seconds and have video to prove it! bit.ly/rJZdFL [00:24] hipsters_ has joined the channel [00:25] chrismatthieu: http://bit.ly/rJZdFL [00:25] FIQ has joined the channel [00:25] mandric has joined the channel [00:27] alejandromg: So, how can I know what is the mime-type of a file with fs? [00:28] AvianFlu: alejandromg, I don't think the fs module knows about those by itself [00:28] AvianFlu: alejandromg, look at https://github.com/mikeal/filed [00:28] jacobolus has joined the channel [00:28] darkenco has joined the channel [00:30] plutoniix has joined the channel [00:31] neurodrone has joined the channel [00:32] polotek: asdfgh: libxmljs or sax-js [00:34] skmp has joined the channel [00:35] polotek: hmmm [00:36] polotek: what's the env flag that makes the repl use the same context instead of creating a new one each time? [00:36] polotek: seems the "useGlobal" flag was added in 0.6 [00:36] avih has joined the channel [00:36] nicholasf has joined the channel [00:36] akujin- has joined the channel [00:36] balaa has joined the channel [00:37] blueadept has joined the channel [00:37] EyePulp has joined the channel [00:38] romanb has joined the channel [00:38] Salve has joined the channel [00:41] insin: "How to Run Unit Tests. 1. Install Ruby 1.9.2+..." - uh... [00:42] alejandromg: AvianFlu: thanks! [00:47] avih has joined the channel [00:47] aku has joined the channel [00:48] kiilo has joined the channel [00:49] balaa has joined the channel [00:49] akujin has joined the channel [00:51] joemccann has joined the channel [00:52] stisti has joined the channel [00:52] akujin- has joined the channel [00:52] mnutt has joined the channel [00:53] LeMike has joined the channel [00:56] neurodrone has joined the channel [00:56] JaKWaC has joined the channel [00:57] Ownatik has joined the channel [00:59] mike5w3c_ has joined the channel [01:00] RobWC has joined the channel [01:00] TheEmpath has joined the channel [01:00] TheEmpath: hail nodelings [01:00] TheEmpath: a question for you [01:00] TheEmpath: i want to do something experimental and sexy [01:00] Ownatik has joined the channel [01:00] brianseeders has joined the channel [01:00] pickels has joined the channel [01:01] avih has joined the channel [01:01] TheEmpath: i was thinking when making a module, and defining exports.someFunc = { a: 6, b: 8}; [01:01] TheEmpath: when i call that module elsewhere like var blah = require('blah'); [01:01] TheEmpath: and i do blah.someFunc = blah.someFunc.a, would that override the module everywhere, ya? [01:07] dubenstein has joined the channel [01:10] jhurliman: nodejam here we come! :-D [01:10] k1ttty has joined the channel [01:10] caioketo: einaros: You there? [01:11] k1ttty_ has joined the channel [01:11] gr-eg has joined the channel [01:11] blaenk has joined the channel [01:11] blaenk has joined the channel [01:11] hij1nx has joined the channel [01:12] polotek: TheEmpath: usually yes, that will update the module for everyone [01:12] polotek: because module exports are cached [01:12] polotek: but it's not a great idea because it's not consistently going to work [01:13] polotek: there are lots of things that can cause the module code to be re-evaluated [01:13] polotek: and you would lose that change [01:14] dharmesh has joined the channel [01:14] caioketo: Someone knows about ws from einaros? [01:15] joemccann has joined the channel [01:16] bingomanatee has joined the channel [01:16] bingomanatee has left the channel [01:17] subbyyy has joined the channel [01:18] TheEmpath: ahhh good to know polotek [01:18] TheEmpath: thanks for the breakdown [01:18] neurodrone has joined the channel [01:19] isaacs: long overdue: https://github.com/isaacs/npm/commit/30039c92da7ade307338a3054d775870dacdfdc4 [01:19] josh-k has joined the channel [01:19] marcello3d has joined the channel [01:19] te-brian2 has joined the channel [01:21] SubStack: isaacs: yikes, bash tests! [01:21] josh-k has joined the channel [01:21] isaacs: SubStack: that test file was, i think, the oldest thing in npm. [01:21] isaacs: SubStack: it made sense when npm was a bash script :) [01:23] skmp: node package manager [01:23] tilgovi has joined the channel [01:24] dubenstein has joined the channel [01:24] avih has joined the channel [01:24] isaacs: skmp: npm actually stands for "npm is not an acronym" [01:27] nerdfiles1 has joined the channel [01:28] imtzo has joined the channel [01:29] aku has joined the channel [01:31] caioketo: Someone knows about ws from einaros? [01:32] skmp: not just another package manager [01:33] CoverSlide: nipple pastry manager [01:34] akujin- has joined the channel [01:34] CarterL has joined the channel [01:35] dgathright has joined the channel [01:35] scottschecter has joined the channel [01:35] ericmuyser has joined the channel [01:37] davidbanham has joined the channel [01:37] warz: does express.js have a concept of modules or any way to peform reverse lookups in templates? for example, in my templates is there a way to build a url without having to hard code it and append variables to it, etc? [01:39] jhurliman: warz, what templating engine are you using? [01:39] warz: i was trying out mustache templates, since theyre familiar to jinja for me. [01:39] zomg: There is at least a way to give names to routes but not sure if there's any way to really generate URL's based on routes [01:39] toddysm has joined the channel [01:39] zomg: It was actually something I was wondering as well, but I just decided to hardcode URLs since it's not really that complicated in my case [01:40] toddysm has left the channel [01:40] jaequery has joined the channel [01:41] Rob__ has joined the channel [01:42] davidbanham has joined the channel [01:42] nerdfiles1 has left the channel [01:42] warz: i dont know if ive just always taken the wrong approach to nodejs, or what, but this is like the tenth or more attempt of mine to use express for a complete web project and i just feel like id be rewriting all of the stuff i love about python [01:42] lwille has joined the channel [01:42] warz: python's flask* [01:43] k1ttty has joined the channel [01:43] ^robertj: anyone around to bounce ideas off of for doing some farily serious qos-oriented sandboxing [01:44] andreyvit has joined the channel [01:44] dannyamey has joined the channel [01:45] pandark_ has joined the channel [01:46] r1ngzer0_ has joined the channel [01:47] hasenj has joined the channel [01:48] insin: warz: I understand where you're coming from [01:48] TooTallNate: isaacs: is there a way to make npm *do* include the build dir when publishing? [01:49] iigrat has joined the channel [01:49] isaacs: TooTallNate: put !build/ in your .npmignore file [01:49] isaacs: TooTallNate: but why do you wanna do that? [01:49] TooTallNate: isaacs: i wanted to try this out: https://github.com/TooTallNate/node-weak/blob/master/index.js#L4 [01:49] TooTallNate: for windows [01:49] TooTallNate: so I have a precompiled binary [01:50] TooTallNate: at: ./build/win32/ia32/weakref.node [01:50] isaacs: TooTallNate: npm publish --bin-publish [01:50] isaacs: TooTallNate: this will publish the bin tagged with the os, version, and architecture. [01:51] isaacs: TooTallNate: anyone who has the same set will get the binary one instead of the source one [01:51] TooTallNate: isaacs: interesting. so then how do I require it in my index.js? [01:51] isaacs: require("./build/win32/ia32/weakref.node")? [01:51] willwhite has joined the channel [01:51] isaacs: TooTallNate: put in a try/catch for if it's not there, i guess [01:51] TooTallNate: isaacs: sorry, i guess i don't see what --bin-publish does that I'm not doing already [01:52] isaacs: TooTallNate: it's a very experimental feature. [01:52] isaacs: TooTallNate: it does it for you, such that only windows users get the win32 bin. [01:52] insin: warz: the way I've come to think of it is "well, what did people do before existed for - if you like to do things a particular way, you can either look for implementations or write them [01:52] isaacs: TooTallNate: linux/solaris/mac users will get the source. [01:52] isaacs: (only) [01:52] nerdfiles3 has joined the channel [01:52] TooTallNate: yes makes sense [01:52] nerdfiles3 has left the channel [01:52] isaacs: TooTallNate: it'll publish two tarballs. [01:52] jldbasa has joined the channel [01:53] isaacs: one for the source (excluding the build dir) then another containing the build (tagged with the architecture info) [01:53] insin: I honestly think I had my first "this is Nooooode!" experience today, hacking together a quick HTTP server to allow testers to run a long-running workaround job thingy on my machine by hittinga URL while I tried to fix an environment [01:53] TooTallNate: ok, so pretty much sounds like what I need [01:53] caioketo: there is some websocket server in node.js? [01:53] isaacs: TooTallNate: yep. [01:53] isaacs: :) [01:53] caioketo: that works with binary? [01:54] TooTallNate: isaacs: so then, wouldn't I have to npm publish on each different machine? [01:54] TooTallNate: that I want to support? [01:54] isaacs: TooTallNate: yes. [01:54] isaacs: TooTallNate: or expect users to have a build toolchain, which is reasonable for most unixes. [01:54] isaacs: slightly less so for mac. [01:54] TooTallNate: subsequent times, is it only gonna publish 1 more tarball? [01:54] isaacs: TooTallNate: you'll have to do the bin-publish each time you wanna publish a binary package. [01:54] insin: warz: uh... also... I have an implemenatation of what you're looking for, although it's very raw at the moment! https://github.com/insin/urlresolve [01:55] cjroebuck has joined the channel [01:55] isaacs: TooTallNate: fair warning: this is hairy territory, full of weeds and brambles. [01:55] isaacs: it might be buggy. [01:55] isaacs: i did that like 6 months ago, and haven't really touched it since. [01:55] tjfontaine: there be dragons [01:55] isaacs: srsly [01:55] TooTallNate: isaacs: i seem to remember you maybe had it on by default at first? [01:55] isaacs: TooTallNate: yeah, it was a fucking disaster. [01:55] TooTallNate: haha [01:55] TooTallNate: i remember ;) [01:55] isaacs: lots of non-binary packages have build scripts, and it broke them. [01:55] isaacs: (like express, for instance) [01:56] isaacs: or they're just not built with binary dist in mind. [01:56] isaacs: so they .npmignore and.gitignore the build artifacts. [01:56] insin: curse your reStructuredText stylesheet, GitHub! [01:59] bluebit has joined the channel [01:59] TooTallNate: isaacs: edge-case: when there's a newer version of a module on npm, but not a compiled version (but there are compiled previous versions). what happens? [02:00] TooTallNate: i think preferrably the older version would be downloaded [02:01] bluebit has joined the channel [02:01] avih has joined the channel [02:01] gavin_huang has joined the channel [02:01] bluebit has joined the channel [02:05] iigratss has joined the channel [02:06] warz: l [02:06] avih has joined the channel [02:06] isaacs: TooTallNate: it does the binary download *after* resolving which version to download [02:07] isaacs: TooTallNate: there's no logic to prefer or not prefer bin dists [02:07] TooTallNate: so essentially it's just "the latest version" [02:07] Lingerance: insin: Can you add /examples/ to that please? I don't quite understand what it's for. [02:08] insin: Lingerance: yes, working on it - spltting it out from a different project bit by bit [02:10] gde33 has joined the channel [02:11] fermion has joined the channel [02:12] maushu_ has joined the channel [02:12] avih has joined the channel [02:15] TimTimTim has joined the channel [02:15] fermion has joined the channel [02:15] flip_digits has joined the channel [02:17] robi42 has joined the channel [02:17] JaKWaC has joined the channel [02:18] k1ttty has joined the channel [02:19] redir__ has joined the channel [02:20] CIA-109: node: 03isaacs 07v0.6 * r90fb81a 10/ (107 files in 11 dirs): npm 1.1.0-beta-7 - http://git.io/JEPFxA [02:20] CIA-109: node: 03isaacs 07v0.6 * rd75de86 10/ Makefile : add 'make test-npm' - http://git.io/tH2jTw [02:22] cognominal has joined the channel [02:22] ^robertj: are there any ways to allocate a huge amount of memory in a single tick without external libs? [02:23] Lingerance: Why would you want to? [02:24] ^robertj: I wouldn't, but i'd like to know if its possible [02:24] isaacs: ^robertj: var b = new Buffer(1024 * 1024 * 1024 * 1024) [02:24] isaacs: alloc's a terabyte^ [02:24] tilgovi has joined the channel [02:24] ^robertj: ahh :( [02:24] isaacs: (do not recommend!) [02:24] joshthecoder has joined the channel [02:25] ^robertj: was hoping I'd be able to sandbox users via stepping the vm manually through debug hooks :( [02:25] isaacs: robertj: nope, you'll have to sandbox users by (at minimum) putting them in a child process, run as a user with no permissions, perhaps in a chroot/jail/zone [02:26] shiawuen has joined the channel [02:26] isaacs: robertj: better yet, don't run user-supplied code on your server ;) [02:26] ^robertj: isaacs, yeah I just have a fondness for old mush-style games and would love to implement one in something a bit newer and shinier [02:26] caolanm has joined the channel [02:26] isaacs: robertj: or, give them a vm (like, kvm/xen-style) and root [02:26] JasonSmith: isaacs: Dude me and tap got into a really nasty row the other day. We pretty much made each other our bitch [02:26] avih has joined the channel [02:26] isaacs: JasonSmith: orly? [02:26] isaacs: anything i can help with? [02:26] ^robertj: and one of the defining features is running untrusted code :) [02:27] DTrejo has joined the channel [02:27] jesusabdullah: I like Math.pow myself [02:27] jesusabdullah: pow pow! [02:27] k1ttty has joined the channel [02:27] JasonSmith: nah, I don't think it's tap's fault. It was the traceback module, which I'm happy with despite having started it well after I did a correct search for similar packages [02:27] isaacs: pow pow power wheels [02:27] moogoo: hmm seems like insta segfault.. [02:27] DTrejo: i'm back in the bay area!! yayyyyy [02:28] isaacs: w00t! [02:28] DTrejo: time to code code code and not do any schoolwork! [02:28] ^robertj: isaacs, err I guess allocating the memory isn't a problem but err, I assume there would still be numerous ways to _use_ gobs of memory between ticks [02:28] JasonSmith: The problem with getting a traceback in v8 is you have to go through the Error object. Like, the global one. And also tracebacks don't seem a priori have anything to do with errors, but they happened to be implemented in the error handling code [02:28] isaacs: happy holidays everyone. run `npm xmas` when you get a chance. [02:28] jesusabdullah: DTrejo: Welcome :P [02:28] jesusabdullah: TOO LATE I ALREADY DID [02:28] DTrejo: :) [02:29] towski has joined the channel [02:29] JasonSmith: So, I modify the Error object to do all this crazy stuff. But every time I call into tap, it also creates errors and parses their .stack [02:29] ^robertj: (your Buffer sample didnt cause any problems :) [02:30] JasonSmith: Both the traceback module and tap are doing the best they can given the tools. In fact the thing I'm proud of with traceback is it's pretty robust about detecting and correcting contention with other code also poking around the Error traceback code [02:30] isaacs: robertj: var b = new Buffer(Math.pow(1024, 4)); for (var i = 0; i < b.length; i ++) b[i] = 'x'.charCodeAt(0) [02:30] ^robertj: isaacs, that happens all in one tick? [02:30] isaacs: robertj: yeah [02:30] moogoo: one very long tick [02:30] isaacs: robertj: a "tick" is just "one pass through your code". [02:30] isaacs: if you don't do any async io or settimeouts, that's your whole program. [02:30] dilvie has joined the channel [02:30] isaacs: while (true); <-- one VERY long tick [02:31] bluebit_ has joined the channel [02:31] isaacs: lasts forever :) [02:31] moogoo: indeed [02:31] moogoo: but it's not a big deal [02:31] captain_morgan has joined the channel [02:31] moogoo: just check to see if the child process is still responsive after say...5 seconds [02:31] moogoo: if not kill it [02:31] ^robertj: err not tick then...one step? [02:32] bluebit has joined the channel [02:32] moogoo: huh [02:32] ^robertj: moogoo, just trying to accomidate tons and tons of very short-lived crappily written programs by not having the overhead [02:32] ^robertj: moogoo, for example, i'v got a test prog that uses the v8 debug protocol to step the v8 with continue stepcount=1 [02:33] moogoo: and you're doing this cause you're worried about crazy user code [02:34] ^robertj: I don't mind the overhead of a process pool [02:34] ^robertj: yeah that's basically what a mush is :P [02:34] moogoo: v8 does have some facilities for stepping/saving/having multiple contexts [02:34] moogoo: but the v8 api docs are trash [02:34] ^robertj: moogoo, so I currently can measure the memory usage between each step [02:35] moogoo: but you only care if there is a suspiscously large amount of mem usage [02:35] ^robertj: yes and id also like to take some sample measurements to 'bill' them in game credits for their computing allowance [02:35] moogoo: lol [02:36] ^robertj: yeah i know, it's all sillyness :) [02:36] moogoo: so if I throw a while(1){} in your game, I'm getting a huge bill in the mail [02:36] moogoo: just check the child process after 1 second [02:37] ^robertj: yeah, or more seriously your in game allowance will all get spent, your programs wont run, and you will be out of luck until you get a micro allowance payement :) [02:37] moogoo: anything that takes longer to compute is clearly evil [02:37] ^robertj: moogoo, that's more or less the idea [02:37] moogoo: you can do that without mucking around in v8 internals [02:37] ^robertj: i'm trying to figure out how much mischief one can get up to in a second [02:37] ^robertj: moogoo, thats the hope [02:37] neoesque has joined the channel [02:37] ^robertj: i mean, can someone use up 200 megs of ram in a second? [02:38] moogoo: it's hard to say with how tricky v8 is [02:38] c4milo has joined the channel [02:38] ^robertj: if so, no problem, ill subsect the second down into 20 increments and check with the v8 profiler [02:38] ^robertj: however if they can allocate 200 megs of ram in a _step_ i'm screwed [02:39] moogoo: .. i=10000; s='a'; while(--i) s+=s [02:39] acuster has joined the channel [02:39] catb0t: Timeout Error [02:39] moogoo: wonder how far it got [02:39] ^robertj: moogoo, tahts multipel steps right? [02:39] moogoo: steps of what [02:39] moogoo: thats one nodejsTick [02:39] moogoo: at least [02:40] moogoo: since nextTick will not be called till it's good and done [02:40] ^robertj: so one tick but a step is apparently something lower [02:40] boltR has joined the channel [02:40] moogoo: like a debug step [02:40] ^robertj: yes exactly [02:40] lorfds has joined the channel [02:40] moogoo: it's at most 10000 of those [02:40] skm has joined the channel [02:40] moogoo: but the problem in that was the s+=s [02:40] moogoo: dunno how far it got [02:41] moogoo: but I'm guessing the damange one can do in 1-3 seconds is minimal [02:41] ^robertj: it doesn't matter, what matters is the amount of change in a tick [02:41] ^robertj: because im gonna have 3 other processess on this machine happily consuming ram as well [02:41] ^robertj: and i dont want them to go OOM because someone consumed 512 megs in a step [02:42] ^robertj: if you go more than a fraction of a second a debugger is gonna get hooked up a break introduced into your program at the next tick [02:42] moogoo: I'm sure there are at least OS utilties to use to monitor process memory usage [02:42] EvRide1 has joined the channel [02:42] bluebit has joined the channel [02:42] ^robertj: yeah and i plan to use those but your still occupying bandwidth as well [02:42] ^robertj: so the real question to me is how much trouble can we get into in a single debug step [02:43] moogoo: if you are really strict and check after 500ms [02:43] moogoo: I doubt there's anything to worry about [02:43] avih has joined the channel [02:44] moogoo: .. i=1000; s='a'; while(--i) s+=s [02:44] catb0t: Timeout Error [02:44] moogoo: damn [02:44] moogoo: .. i=500; s='a'; while(--i) s+=s [02:44] catb0t: Timeout Error [02:44] moogoo: wtf [02:44] moogoo: .. i=100; s='a'; while(--i) s+=s [02:44] catb0t: Timeout Error [02:45] moogoo: .. i=50; s='a'; while(--i) s+=s [02:45] bluebit has joined the channel [02:45] catb0t: Timeout Error [02:45] moogoo: what am I doing wrong [02:45] moogoo: .. i=10; s='a'; while(--i) s+=s [02:45] catb0t: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... [02:45] moogoo: .. i=10; s='a'; while(--i) s+=s; s.length [02:45] catb0t: 512 [02:45] moogoo: .. i=30; s='a'; while(--i) s+=s; s.length [02:45] catb0t: 536870912 [02:45] moogoo: .. i=40; s='a'; while(--i) s+=s; s.length [02:45] catb0t: Timeout Error [02:45] moogoo: so is that 500 megs? [02:46] moogoo: at least [02:46] ^robertj: ? [02:46] moogoo: .. i=30; s='a'; while(--i) s+=s; s.length [02:46] catb0t: 536870912 [02:47] moogoo: .. _*16/8 [02:47] catb0t: Exception: ReferenceError: _ is not defined [02:47] ^robertj: ahh i see [02:47] moogoo: .. 536870912*16/8 [02:47] catb0t: 1073741824 [02:47] jergason has joined the channel [02:47] bluebit has joined the channel [02:48] ^robertj: .. 536870912*16/8 [02:48] catb0t: 1073741824 [02:48] moogoo: well there's no significant memory usage reported in top at least [02:49] ^robertj: but it still happens rihgt? [02:49] moogoo: guess it depends on how v8 stores long strings of a single character [02:50] moogoo: is there any reason for these user-code sessions to be persistent [02:50] jacobolus has joined the channel [02:50] moogoo: like can you just close the process after the command is run [02:50] ^robertj: moogoo, just thinking there will be a _lot_ of processes [02:50] jzacsh has joined the channel [02:50] jzacsh has joined the channel [02:50] moogoo: and this is some game [02:50] moogoo: browser based? [02:51] esmevane has joined the channel [02:51] davidbanham has joined the channel [02:51] ^robertj: traditionally telnet based, but yeah id definately tack a web frontend onto it [02:52] moogoo: ah [02:53] moogoo: you should probably be more worried about what code the player might run rather than how much memory it might take [02:53] bacon000 has joined the channel [02:53] ryanallenbobcat has joined the channel [02:53] ^robertj: moogoo, yes but the solutions to that problem seems much easier [02:53] moogoo: you'd think so [02:53] ^robertj: Proxy everything [02:54] moogoo: I dont know if nodes runInNewContext is more secure as of .6 [02:54] bluebit01 has joined the channel [02:55] jhurliman: node-sandbox? [02:56] ^robertj: moogoo, you talking in regards to the global variable leakage? [02:56] moogoo: no...runInNewContext takes care of that [02:57] lorfds has joined the channel [02:57] moogoo: in practice it is secure enough for most things [02:57] towski has joined the channel [02:57] ^robertj: there was a leakage issue a while back but it is addressed [02:57] moogoo: but there are some tricky ways to escape the "NewContext" [02:57] moogoo: and get access to process and such [02:57] kiilo has left the channel [02:57] ^robertj: documented anywher? [02:57] moogoo: yea...by TheJH...wherever he is [02:58] funkya has joined the channel [03:00] moogoo: point is runInNewContext was never meant to run arbitrary code from the internets [03:00] prettyrobots has joined the channel [03:01] avih has joined the channel [03:01] moogoo: all the nodejs functions that can actully do things are still there, still loaded into memory, just hopefully not accessible to a small portion of your code [03:02] lorfds has joined the channel [03:02] captain_morgan has joined the channel [03:03] ryan_stevens has joined the channel [03:03] stagas has joined the channel [03:04] ^robertj: moogoo, I'd bet at worst those problems are overcomable by some crude static code analysis [03:05] moogoo: dunno...you can do some impressive obfuscation with JS [03:05] moogoo: at the very least disallow the use of eval [03:05] bluebit has joined the channel [03:05] sylvinus has joined the channel [03:06] ^robertj: moogoo, but i still have a dirty feeling that you cet into a ton of trouble in a quarter second and inside a single tick :) [03:07] dougrdotnet has joined the channel [03:07] moogoo: long as that trouble doesnt involve formating your hard disk...all you need to do is SIGKILL [03:07] blueadept has joined the channel [03:08] lorfds has joined the channel [03:08] ^robertj: yeah and every once in a while htat would be OK, so as long as i could catch it [03:09] ^robertj: but they could use lots of ram over very short periods and not get 'billed' for it though [03:09] ^robertj: you would never know [03:09] moogoo: maybe just a cron job...run it every 5 min or so and trash out of controll node proccses [03:09] ^robertj: nonono, i'm thinking like a second max on a job [03:10] moogoo: I wonder if there's any in-node way to monitor details of a child process [03:10] ^robertj: do you count he v8 debugger? [03:10] moogoo: I'm still stalling on upgrading to .6 [03:11] moogoo: maybe...but the debugger is major overhead and potentially insecure [03:11] ^robertj: it works fine with the caveat that you cant monitor between _steps_, which is why i'm so concerned with burstyness [03:11] moogoo: v8 does provide some seemingly powerful ways to deal with multiple threaded contexts [03:11] moogoo: hell if I can figure them out from the trash API docs available [03:12] blueadept` has joined the channel [03:12] dougrdotnet: I've been trying to find a resource for info in removing node installed from NodeJS-0.4.11.pkg… think that the 0.4 package installer installed it global and i'd like to remove it. [03:13] dougrdotnet: would anyone have a list of installed files from the pkg installer? [03:13] boltR has joined the channel [03:14] blueadept` has joined the channel [03:15] avih has joined the channel [03:15] blueadept has joined the channel [03:17] coderzach has joined the channel [03:17] BillyBreen has joined the channel [03:18] pluc has joined the channel [03:18] dwhittle has joined the channel [03:18] lorfds has joined the channel [03:22] DTrejo has joined the channel [03:22] avih has joined the channel [03:24] joshthecoder has joined the channel [03:28] benvie: node itself consists of a single file so it's going to be some sort of environmental variable that's wrong or something [03:28] towski has joined the channel [03:28] ericmuyser has joined the channel [03:29] benvie: NODE_PATH or something like that [03:30] benvie: either that or the old single node binary is still in your path somewhere [03:30] devongovett has joined the channel [03:31] louissmit has joined the channel [03:32] towski_ has joined the channel [03:33] dougrdotnet: ok, I know the location of the single node file..easy enough - I've got the path which is /usr/bin/node and is defined in my ~/.profile [03:34] dougrdotnet: thanks, didn't know if it installed additional files than that binary [03:34] avih has joined the channel [03:35] dougrdotnet: clone from git is def preferable for getting updates more quickly [03:35] jacobolus has joined the channel [03:35] benvie: yeah at this point I maintain my own slightly modified version and it's just a lot smoother assuming you don't have a problem building stuff yourself [03:36] benvie: for me it's due to 0.6 not using the latest versions of V8 [03:36] dougrdotnet: nah, build is easy, albeit v8 is huge and takes a bit of time [03:36] benvie: yeah but it's worth it if V8 3.7 introduced new features you want [03:37] kriskropd has joined the channel [03:37] benvie: with the whole ES6 stuff being rolled out it's kind of a flux period for javascript [03:37] dougrdotnet: yup, right now i just want to be able to use —watch with .coffee files and requires 0.6 [03:38] benvie: sadly I don't use nor drink coffee. A strange one I am, so I'm told [03:38] skm has joined the channel [03:39] buu has joined the channel [03:39] esmevane has joined the channel [03:40] dougrdotnet: :-) I over do it in the cup and have been doing a .js/coffee/Backbone/brunch intesive set of reading and hacking about for the past few weeks to get a feel for the stack [03:41] kmiyashiro has joined the channel [03:42] dougrdotnet: I write Enterprise Flex/AS stuff by day and expand skills outside of that, .js stuff is my current focus for broadening horizons [03:42] hlobil has joined the channel [03:43] shedinja: Is there a way to make a node program include a cross-platform gui? I thought about using a server and having the GUI be an HTML page, but I'm not sure if that would be a simple enough installation for non-programmers [03:45] dougrdotnet: @benvie, thanks again for the single file tip, that was the trick I needed [03:47] benvie: ;) I'm all about winning with my right hand [03:48] avih has joined the channel [03:48] mikeal has joined the channel [03:48] CarterL has joined the channel [03:49] heavysixer_ has joined the channel [03:50] ryanrolds has joined the channel [03:50] clarkfischer has joined the channel [03:52] MrMaksimize has joined the channel [03:53] dougrdotnet has left the channel [03:53] avih has joined the channel [04:00] imtzo has joined the channel [04:00] eddanger has joined the channel [04:01] piggybox has joined the channel [04:02] boltR has joined the channel [04:04] xavieralexander has joined the channel [04:04] Renegade001 has joined the channel [04:05] boltR has joined the channel [04:09] skm has joined the channel [04:13] rauchg has joined the channel [04:13] darkenco has joined the channel [04:16] zivester has joined the channel [04:19] Raynos: dougrdotnet: you mix coffee & js ? [04:19] Ownatik has joined the channel [04:19] Farren has joined the channel [04:20] Farren: quick question [04:21] Farren: I just recently installed the latest version of node.js in order to update, which is supposed to have npm installed by default [04:21] Farren: but when I try to use the npm command, it just hangs with "..." [04:21] Farren: any idea on what the problem might be? [04:21] interrupt has joined the channel [04:21] Farren: I use windows [04:23] meso has joined the channel [04:25] davidbanham: shedinja: There are no GUI tools like that that I'm aware of, but a web browser is a fairly simple interface to grasp. "Start the program, click this link in the readme, add it to your bookmarks if you want" [04:29] avih has joined the channel [04:31] mnutt has joined the channel [04:33] JaKWaC has joined the channel [04:41] Squeese has joined the channel [04:48] avih has joined the channel [04:48] k_ has joined the channel [04:48] dgathright has joined the channel [04:48] wrea has left the channel [04:51] captain_morgan has joined the channel [04:54] avih has joined the channel [04:56] Drakonite has joined the channel [04:58] JaKWaC has joined the channel [05:00] k1ttty has joined the channel [05:00] dr0id has joined the channel [05:04] joshthecoder has joined the channel [05:04] WarheadsSE has joined the channel [05:06] jaitaiwan has joined the channel [05:16] lwille has joined the channel [05:16] avih has joined the channel [05:19] esmevane has joined the channel [05:22] kenperkins has joined the channel [05:22] dwhittle has joined the channel [05:25] windsurf_ has joined the channel [05:25] windsurf_: Security question: I am writing a client app and have control over two server apps. my client app is embedded in domainA. domainA controls authentication with the back-end on same domain. I have another back-end service on domainB. I need domainB to know the client is authenticated with domainA. I don't want the user to have to authenticate twice and obviously i don't want to be passing around credentials. Not sure if SSL is enou [05:25] windsurf_: I did do that? [05:26] mediahack has joined the channel [05:27] creationix has joined the channel [05:29] k_89 has left the channel [05:38] clu3 has joined the channel [05:38] crescendo has joined the channel [05:39] windsurf_: nevermind, got a good answer [05:40] sorensen__ has joined the channel [05:41] pauls1 has joined the channel [05:42] binaryjohn has joined the channel [05:42] pauls1: anyone use storify's jade-browser? [05:42] pizthewiz has joined the channel [05:43] pauls1: https://github.com/storify/jade-browser/ [05:46] zivester has joined the channel [05:48] wingie has joined the channel [05:50] grampajoe has joined the channel [05:51] scottschecter has joined the channel [05:52] crosscode has joined the channel [05:53] wedtm has joined the channel [05:53] fzzzy has joined the channel [05:54] ajpiano_ has joined the channel [05:57] chorrell has joined the channel [05:58] chorrell has left the channel [05:58] dreamdust has joined the channel [05:58] wookiehangover has joined the channel [05:58] windsurf_ has left the channel [06:01] scottschecter has joined the channel [06:05] ceej has joined the channel [06:08] DTrejo has joined the channel [06:09] ericmuyser has joined the channel [06:11] aroman has joined the channel [06:12] aroman: is vows' watcher system not working for anyone else? [06:12] aroman: it re-runs the tests, but always reports in the affirmative.. [06:12] aroman: wheras running the tests with vows as a one-shot deal works as expected. [06:15] aroman: it's like the watcher notices that files have been changed, but doesn't re-load their content on each re-check. [06:16] scottschecter has joined the channel [06:17] dilvie has joined the channel [06:19] avih has joined the channel [06:19] a_meteorite: Is there any good cluster libraries for v0.6? [06:20] a_meteorite: I know it's built-in, but something that makes it... nicer like cluster did would be nice [06:22] k1ttty has joined the channel [06:23] captain_morgan has joined the channel [06:24] clu3 has joined the channel [06:25] skm has joined the channel [06:37] jaequery has joined the channel [06:37] devongovett has joined the channel [06:37] kazupon has joined the channel [06:39] fzzzy has joined the channel [06:42] scottschecter has joined the channel [06:46] avih has joined the channel [06:47] JaKWaC has joined the channel [06:49] SamuraiJack has joined the channel [06:52] jperras has joined the channel [07:00] Wizek has joined the channel [07:01] SamuraiJack has joined the channel [07:04] towski has joined the channel [07:07] mike5w3c has joined the channel [07:08] awkn4n has joined the channel [07:09] boltR: where does node look for node_modules? [07:09] boltR: in root or ~? [07:09] elliottcable: Anybody here any good with node-waf? [07:09] elliottcable: I can't figure out what I'm doing wrong [07:09] boltR: i have socketio installed but it can't seem to find it [07:10] avih has joined the channel [07:11] Squeese has joined the channel [07:12] awkn4n: boltR setenv NODE_PATH will help I guess. before npm install of course [07:14] boltR: awkn4n: thanks i'll give that a try [07:14] redir_ has joined the channel [07:16] towski has joined the channel [07:16] alek_b has joined the channel [07:16] LarsSmit has joined the channel [07:16] a_meteorite: Is there any good cluster libraries for v0.6? [07:17] a_meteorite: I know it's built-in, but something that makes it... nicer like cluster did would be nice [07:23] JasonWoof has joined the channel [07:23] JasonWoof has joined the channel [07:23] NetRoY has joined the channel [07:25] CIA-109: node: 03Ryan Dahl 07isolates2 * rc04f0f9 10/ src/node.cc : Move prog_start_time init after isolate assigned (+16 more commits...) - http://git.io/-0-dBg [07:30] snuglepuss has joined the channel [07:31] fearphage has joined the channel [07:32] neilk_ has joined the channel [07:33] minerale has joined the channel [07:34] chetane has joined the channel [07:34] chetane has joined the channel [07:34] kriskropd has joined the channel [07:38] aslant has joined the channel [07:44] Morkel has joined the channel [07:45] rev087 has joined the channel [07:45] plutoniiix has joined the channel [07:46] [[zzz]] has joined the channel [07:48] dwhittle has joined the channel [07:49] criswell has joined the channel [07:53] HT has joined the channel [07:54] pronam has joined the channel [07:57] mikeal has joined the channel [07:57] kriskropd has joined the channel [07:57] redir_ has joined the channel [07:57] igl1 has joined the channel [07:59] _eddyb_ has joined the channel [07:59] _eddyb_ has joined the channel [07:59] SubStack: haha I accidentally implemented message queues for dnode without realizing [07:59] AvianFlu: win! [08:00] SubStack: a transactional message queue even [08:00] SubStack: since that made the most sense api-wise [08:02] gigafied has joined the channel [08:02] awkn4n has left the channel [08:03] gigafied: If there is an npm package with a broken repo link (404) and stale activity, is there a way to get it removed from the npm registry? [08:04] SubStack: gigafied: possibly, ping isaacs [08:05] gigafied: Yeah, will do, just curious if there was any mention of registry guidelines or something anywhere [08:06] tekky: hrm, any couch wizards around? their channel is.... typically dead.... [08:06] SubStack: isaacs is pretty open to that sort of stuff from what I gather [08:07] mehlah has joined the channel [08:09] k1ttty has joined the channel [08:11] JaKWaC has joined the channel [08:11] EyePulp has joined the channel [08:19] andrewfff has joined the channel [08:22] mjr_ has joined the channel [08:22] jhurliman has joined the channel [08:24] braoru has joined the channel [08:25] mikeal has joined the channel [08:27] skm has joined the channel [08:30] CIA-109: node: 03Fedor Indutny 07master * ree1f229 10/ configure : [08:30] CIA-109: node: --without-npm option [08:30] CIA-109: node: Fixes #2353. - http://git.io/BpWNdA [08:32] CIA-109: node: 03Fedor Indutny 07master * rc63ea24 10/ configure : [08:32] CIA-109: node: --without-npm option [08:32] CIA-109: node: Fixes #2353. - http://git.io/th_nEA [08:33] astrobunny has joined the channel [08:40] CIA-109: node: 03Fedor Indutny 07master * ra9f2c4a 10/ (configure tools/installer.js): [08:40] CIA-109: node: --without-npm option [08:40] CIA-109: node: Fixes #2353. - http://git.io/DCzpqA [08:41] arcanis has joined the channel [08:42] k1ttty_ has joined the channel [08:43] insin has joined the channel [08:44] wilmoore has joined the channel [08:47] mehlah has joined the channel [08:48] loob2 has joined the channel [08:53] braoru has joined the channel [08:56] MrMaksimize has joined the channel [08:59] k1ttty has joined the channel [08:59] polotek has joined the channel [09:00] romanb has joined the channel [09:01] aliem has joined the channel [09:03] _unary has joined the channel [09:05] jetienne_ has joined the channel [09:06] Luffha has joined the channel [09:07] iRoj has joined the channel [09:10] stagas has joined the channel [09:16] `3rdEden has joined the channel [09:18] EyePulp has joined the channel [09:21] lietu- has joined the channel [09:22] josh-k has joined the channel [09:24] josh_k has joined the channel [09:24] tauren has joined the channel [09:26] harthur has joined the channel [09:27] boltR has joined the channel [09:27] jomoho has joined the channel [09:28] rurufufuss has joined the channel [09:29] josh-k has joined the channel [09:35] stagas has joined the channel [09:35] Luffha has joined the channel [09:35] skm has joined the channel [09:38] ShinyDarkness has joined the channel [09:38] josh_k has joined the channel [09:38] Nuck: I wish I could replace the entire resolver for require :I [09:39] Nuck: For a process, at least [09:39] shiawuen has joined the channel [09:39] Wizek has joined the channel [09:40] Nuck: Can we get some form of process.paths? [09:40] Nuck: Please? [09:40] mmalecki: no. [09:40] Nuck: ;~; [09:40] SubStack: new mad science experiment: https://github.com/substack/upnode [09:40] Nuck: I just want my paths relative to process.cwd [09:41] Nuck: SubStack: Ooooh nice [09:41] Nuck: I really hate that require is relative to the module and not relative to my project's root [09:41] stagas: Nuck: you can pass the require function from your app to the module [09:42] Nuck: stagas: I don't want some stupid hack [09:42] Nuck: I want a solution [09:42] Nuck: I want require to resolve relative to my project root when I do "./lib/thing.js" [09:43] Nuck: I'm having to keep note of how many "../" deep I am in each file [09:43] Nuck: So I know where my project root is [09:44] Nuck: This is just ridiculous, when it's as simple as having relative paths resolved from process.cwd [09:44] caioketo: hey, anyone knows something like socket.io but supporting binaries transfer, and just websocket (dont need flash, etc) ?? [09:44] Nuck: caioketo: WebSockets with base64-encoded binary data? [09:45] insin: I need some sort of mindswitch which automatically detects that I'm writing code which will only ever be run in Node [09:45] caioketo: no [09:45] caioketo: just binary, i wont encode it [09:45] Nuck: What's wrong with resolving relative to process.cwd, I've never gotten a straight answer [09:45] caioketo: otherwise it will get too slow [09:46] Nuck: caioketo: :| Well then I'm pretty sure you're outta luck, man. [09:46] caioketo: i saw einaros ws [09:46] caioketo: wich supports binary [09:46] Nuck: I don't think clientside JS works well with binary data [09:46] Nuck: In fact, I know it doesn't. [09:46] caioketo: what the problem with binay? [09:46] Nuck: It *can* do it, just not effectively at all [09:46] Nuck: caioketo: the fact that it's not a data type in JS? [09:47] Nuck: The fact that we lack Blobs or Buffers on the clientside? [09:47] caioketo: JS dont have byte like data type? [09:47] Nuck: caioketo: Not natively, last I checked. [09:47] Nuck: caioketo: There's thinkgs like TypedArrays, but nothing else [09:48] Nuck: At least, AFAIK [09:48] Nuck: caioketo: client-side JS is definitely faster with base64 than it would be with binary [09:49] caioketo: so, if I base64encode it on server, it will work like a array of chars, instead of array of bytes? [09:51] Edy has joined the channel [09:51] Edy has joined the channel [09:52] Hounth has joined the channel [09:52] jperras has joined the channel [09:53] caioketo: ? [09:54] Nuck: caioketo: What are you trying to do with the binary data on the clientside? [09:54] ph^ has joined the channel [09:55] meso has joined the channel [09:55] k1ttty has joined the channel [09:56] __doc__ has joined the channel [09:56] caioketo: its like my network protocol, byte a byte [09:56] caioketo: each byte means something [09:57] caioketo: so I need to check each byte [09:57] Nuck: caioketo: You realize that text protocols aren't significantly slower than binary protocols anymore, right? [09:58] caioketo: right, but i got windows client working with binary.. [09:58] eldios has joined the channel [09:58] Nuck: I guess it's possible, I think Firefox has support for TypedArrays [09:59] caioketo: what I could do, is in my proxy server, i encode/decode the binary to base64 [09:59] Nuck: I'm going to bow out of this before I go loony [09:59] Nuck: Plus I need sleep [10:00] caioketo: ok [10:04] mraleph has joined the channel [10:06] joshontheweb has joined the channel [10:09] dgathright has joined the channel [10:11] mikzzz has joined the channel [10:11] lzskiss has joined the channel [10:12] jbpros has joined the channel [10:12] jperras has joined the channel [10:13] chjj: ive always wanted to write down the linux kernel on a piece of paper, in base64, and then carry it around...on a stack of paper [10:13] chjj: is that weird? [10:13] mmalecki: no [10:13] chjj: okay [10:13] console_ has joined the channel [10:13] k1ttty has joined the channel [10:14] stagas has joined the channel [10:15] petrjanda has joined the channel [10:17] CIA-109: node: 03Adam Malcontenti-Wilson 07v0.6 * rc4d2244 10/ (3 files in 3 dirs): [10:17] CIA-109: node: docs: Make logo a link back to homepage [10:17] CIA-109: node: Fixes #2332. - http://git.io/rAVNgQ [10:19] Rojtjo has joined the channel [10:21] `3rdEden has joined the channel [10:23] Typo has joined the channel [10:24] tobias has joined the channel [10:29] jperras has joined the channel [10:30] stagas has joined the channel [10:30] shinuza has joined the channel [10:38] otakutomo has joined the channel [10:38] Jippi has joined the channel [10:42] churp has joined the channel [10:43] Typo has joined the channel [10:44] mara has joined the channel [10:44] knifed has joined the channel [10:45] stagas has joined the channel [10:45] JasonWoof has joined the channel [10:45] knifed has joined the channel [10:46] herbySk has joined the channel [10:51] robhawkes has joined the channel [10:52] k1ttty has joined the channel [10:53] salva has joined the channel [10:53] MUILTR has joined the channel [10:53] salva has left the channel [10:55] stagas has joined the channel [10:55] iigrat has joined the channel [10:56] Feherlofia has joined the channel [10:57] Wizek has joined the channel [11:00] rendar has joined the channel [11:06] iigrat has joined the channel [11:06] jperras has joined the channel [11:07] replore has joined the channel [11:07] replore_ has joined the channel [11:07] Xano has joined the channel [11:10] LeMike has joined the channel [11:10] Xano has joined the channel [11:11] TheJH has joined the channel [11:12] LeMike: hi there. i am new to node.js but not to js itself. i guess node.js is divided in MVC right? [11:12] TheJH: LeMike, node is on a lower level than that [11:14] TheJH: LeMike, there are popular frameworks on top of it like "express" that you can use for making webapps or so, but node's own webserver stuff is just "I'll call this function for every incoming HTTP request on the entire server" [11:14] avih has joined the channel [11:14] mc_greeny has joined the channel [11:14] LeMike: TheJH, alright. so i have almost full server control. is a template engine common or delivering html with backbone.js? [11:14] LeMike: oh [11:14] LeMike: thats already the answer ;D thanks [11:15] neoesque has joined the channel [11:15] confoocious has joined the channel [11:15] hipsters_ has joined the channel [11:15] TheJH: LeMike, hmm, no, express is not a template engine, I'd say [11:15] d0k has joined the channel [11:16] TheJH: LeMike, but there are a few. sadly, I've never used one, so I can't tell you which is the best one, but dustjs looks interesting to me [11:16] LeMike: yee. its a whole framework. got that. ;) [11:17] TheJH: (warning: I've never used express yet either) [11:18] joshontheweb has joined the channel [11:18] LeMike: i will look at this, but first "express". express looks like routing on first sight. that's good. [11:19] chjj: express is a no-nonsense framework [11:19] lzskiss has joined the channel [11:20] chjj: (the nonsense being an mvc "prison") [11:22] LeMike: did anyone wrote a complex webapp with node.js ? is the performance realy that good? i just find "hello world"-benchmarks and that says nothing [11:24] jacobolus has joined the channel [11:24] boltR: hmm [11:24] CIA-109: node: 03Ryan Dahl 07master * r10d92b3 10/ Makefile : saner targets - http://git.io/4_oYPA [11:24] boltR: i'm getting a 'cannot find method replace' error [11:24] boltR: when i try to use mime [11:27] munichlinux has joined the channel [11:27] boltR: oh nvm [11:27] boltR: guess i wasn't passing in a string [11:27] boltR: that could potentially be a problem [11:29] fuseelements has joined the channel [11:30] joshgillies has joined the channel [11:31] Feherlofia has joined the channel [11:31] cognominal has joined the channel [11:31] alnewkirk has joined the channel [11:33] anaio has joined the channel [11:34] fuseelements has joined the channel [11:43] wereHamster: is it possible with the vm module to run code which is completely isolated from the rest? I mean no require(), no access to the filesystem or anything else? [11:44] Morkel has joined the channel [11:44] fuseelements has joined the channel [11:45] fuseelements has joined the channel [11:48] jetienne_ has joined the channel [11:48] chjj: wereHamster: if you create a new context, it wont have access to require, etc [11:48] Feherlofia has joined the channel [11:48] flat has joined the channel [11:49] chjj: wereHamster: its still not a perfect sandbox though, malicious code could ruin your process with something as simple as a while(true) [11:50] saesh has joined the channel [11:50] deoxxa: http://search.npmjs.org/#/dusty weee [11:50] chjj: dusty-weee? [11:51] deoxxa: the "weee" was a squeal of excitement [11:51] deoxxa: always makes me feel warm inside to release a new module [11:51] chjj: ohh [11:51] deoxxa: in related news, dust is pretty cool [11:52] flat: Hi all, is anyone here using the pg module? I'm just testing it out, using the example provided at the top of its github page, and it hangs for about 15 seconds after completing the queries. Anyone else experience this? Any known fix? [11:53] markwubben has joined the channel [11:54] chjj: anyone having trouble with process.title lately? [11:54] wereHamster: chjj: I don't care about while(true), each server runs in its own process and I can easily kill it [11:54] chjj: wereHamster: ok [11:57] dr0id has joined the channel [11:58] whitman has joined the channel [11:58] joshontheweb has joined the channel [12:00] martin_sunset has joined the channel [12:02] frabcus has joined the channel [12:03] `3rdEden has joined the channel [12:03] Renegade001 has joined the channel [12:03] Sorella has joined the channel [12:05] lzskiss has joined the channel [12:06] socketio\test\30 has joined the channel [12:07] cjroebuck has joined the channel [12:08] broofa has joined the channel [12:09] AndreasMadsen has joined the channel [12:09] LarsSmit has joined the channel [12:13] CarterL has joined the channel [12:14] JasonWoof has joined the channel [12:18] merb|muffins has joined the channel [12:21] hackband has joined the channel [12:21] sharatmr has joined the channel [12:22] sharatmr: hello could somebody help me!!!!! [12:22] sharatmr: i just installed nodejs into windows for just exploring it.... [12:23] sharatmr: the thng is watever i do i can't open a page for the server i hav setup [12:23] Edy has joined the channel [12:23] Edy has joined the channel [12:23] sharatmr: even the sample code in the nodejs.org is not being loaded.. [12:23] Morkel has joined the channel [12:24] k1ttty has joined the channel [12:24] sharatmr: nodejs is working cause i can do console.out and get proper output [12:25] flat has joined the channel [12:25] insin has joined the channel [12:26] butu5 has joined the channel [12:26] PHPTroll has joined the channel [12:26] sharatmr: someone??? [12:27] butu5: hi sharatmr [12:27] Feherlofia has joined the channel [12:27] sharatmr: hi butu5 [12:27] sharatmr: can u help me [12:27] soulraven has joined the channel [12:27] sharatmr: the broswers is stuck at waiting...... [12:28] erichynds has joined the channel [12:28] butu5: new user? [12:28] sharatmr: butu5 : ya [12:28] butu5: ok [12:29] butu5: retuning the rsponse...? res.end is happening [12:29] sharatmr: nope [12:29] sharatmr: the browser is just stuck at waiting for [12:29] butu5: u can paste ur code in pastebin or something [12:29] N0va` has joined the channel [12:29] sharatmr: its the same code there in nodejs website [12:30] sharatmr: can i paste it clear [12:30] butu5: hello world program [12:30] sharatmr: 5 line code [12:30] sharatmr: ya [12:30] butu5: don't paste here [12:30] sharatmr: k [12:30] butu5: in pastebin.. and can put the link here [12:33] buttface has joined the channel [12:33] sharatmr: http://pastebin.com/yAbcbMx0 [12:33] sharatmr: that the code [12:34] skm has joined the channel [12:35] pekim has joined the channel [12:35] butu5: what link u r trying? [12:35] butu5: in browser [12:35] sharatmr: ya u knw localhost:1337 [12:35] sharatmr: but not working [12:36] sharatmr: and by the way i am in windows 7 [12:36] butu5: node.exe version? [12:36] butu5: u r able to start properly right [12:36] butu5: node app.js ? [12:36] sharatmr: v.0.6.6 [12:36] sharatmr: ya it says server running in prompt [12:36] sharatmr: ya [12:37] astropirate has joined the channel [12:38] Typo has joined the channel [12:38] Typo has joined the channel [12:38] butu5: code is fine.. u tried http://127.0.0.1:1337/ [12:38] butu5: it should not make any diffrence [12:38] sharatmr: yup tried not working [12:39] bayesian has joined the channel [12:40] sharatmr1 has joined the channel [12:40] bayesian: hey, I am a complete beginner and have consumed a few tutorials, but all have only "snippety" code, is there any kind of boilerplate project that combines routing/mustache/static file serving? [12:41] sharatmr1: hmm can nethng be done i am really stuck [12:41] bayesian: a google search did not reveal much information [12:42] butu5: sharatmr: pls try to download another version of node.. and give it a try once [12:43] butu5: bayesian: u tried exprerss? [12:43] sharatmr1: oh k... [12:43] butu5: it will do routing, static file serving for u [12:43] bayesian: butu5, thanks, that looks fine [12:43] sharatmr1: whr do i get the older versions [12:43] butu5: it should be fine to make mustache [12:44] bayesian: at the moment I am still at the "it sucks because it's not django"-Phase, I hope to get over that soon ^ ^ [12:44] astropirate: pew pew pew [12:45] butu5: bayesian: :) [12:45] deoxxa: ACTION deflects astropirate's attacks, shattering a window in the process [12:45] butu5: sharatmr: try this one http://nodejs.org/dist/v0.6.5/node-v0.6.5.msi but u should be working in latest version though [12:46] sharatmr: i'll try and c [12:46] deoxxa: "c"? you really couldn't be bothered typing "see"? [12:46] butu5: sharatmr: sounds goood.. let us know how it went [12:46] jetienne_ has joined the channel [12:47] bayesian: hm... I installed express with "-g", but my server can't find the express module [12:49] butu5: bayesian: window or xp? [12:49] bayesian: ubuntu [12:49] butu5: sorry linux [12:50] sharatmr: nope this one too not working... [12:50] sharatmr: do i hav to install somethng else before installing nodejs [12:51] k1ttty has joined the channel [12:51] czak has joined the channel [12:51] bayesian: ah wait [12:52] romanb_ has joined the channel [12:52] butu5: sharatmr: no [12:52] sharatmr: :( [12:52] czak: hi guys, soo I'm writing this node.js toy app [12:52] sharatmr: this is sad [12:52] czak: anyone have 3 mins to spare and test it with me? [12:52] butu5: sharatmr: how u r runngin... [12:53] butu5: czak: I am happy to [12:53] czak: cool [12:53] sharatmr: how do u mean [12:53] czak: gimme a sec [12:53] butu5: sharatmr: how u r executing? [12:53] butu5: sharatmr: node app.js? [12:53] sharatmr: the node's location is there in path [12:53] sharatmr: ya so i just do node helloworld.js [12:53] arcanis has joined the channel [12:54] sharatmr: in the folder whr helloworld.js is there [12:54] butu5: can u write some other console [12:54] sharatmr: other console [12:54] sharatmr: ?? [12:55] czak: butu5: I pm'd you with the url [12:55] czak: or actually [12:55] czak: we can try it publicly [12:55] czak: maybe it won't die [12:55] czak: if anyone wants to join, be my guest :) [12:55] czak: http://gistracer.czak.pl/1331144 [12:55] lesanil has joined the channel [12:55] butu5: http://pastebin.com/U2fR0T5v [12:55] czak: wow [12:56] czak: sooo it's a typing race [12:56] czak: with github gists [12:56] czak: yeah I know I'm good :P [12:57] czak: I mean fast [12:57] megalomix has joined the channel [12:57] megalomix: hello [12:57] czak: so what do you guyst think? [12:57] butu5: czak: hey it's cool [12:57] sharatmr: butu5: its not getting inside the function [12:57] thalll has joined the channel [12:57] butu5: czak: I can beat u if I seat properly ;) [12:58] czak: :) I'm sure [12:58] butu5: czak: let's try another one [12:58] sharatmr: butu5: i mean "got the http request" is not printing [12:58] iigrat: fun! - u might think about the coloring, hard to read [12:58] czak: sure, you can pick one and just send the link [12:58] czak: the ids are actually gist ids [12:58] butu5: http://gistracer.czak.pl/1280380 [12:58] butu5: sharatmr: hmm seems some issue [12:59] LeMike has joined the channel [13:00] butu5: i won :) [13:00] romanb__ has joined the channel [13:00] czak: nice :) [13:00] czak: i messed up last part [13:00] sharatmr1 has joined the channel [13:00] adrianmg has joined the channel [13:00] adrianmg has left the channel [13:01] butu5: starting should be same for all [13:01] butu5: like 3. 2. 1.. [13:01] czak: agreed [13:02] skm has joined the channel [13:02] czak: ooops and now it's dead [13:02] czak: TypeError: Cannot read property 'id' of null [13:02] czak: :D [13:02] czak: I guess I should be catching errors shouldn't i [13:02] butu5: czak: enjoy :) [13:02] czak: thanks for the playing guys [13:03] butu5: czak: u r welcome [13:03] munichlinux has joined the channel [13:03] sharatmr has joined the channel [13:04] astropirate: Anyone else want a forum for Node.js? [13:04] chjj: astropirate: http://groups.google.com/group/nodejs [13:05] chjj: or a forum *FOR* nodejs? [13:05] astropirate: chjj, bahh mailing lists [13:05] chjj: i dont think people think forums are classy, thats the problem [13:05] astropirate: ohh.. thats unfortunate [13:05] astropirate: i rather like forums [13:05] chjj: i like forums, i just dont like...forums [13:06] chjj: the way they are i mean [13:06] chjj: theres too much bloat [13:06] astropirate: ohh you don't like the interface [13:06] chjj: i dont like all the features they give you, its a bunch of nonsense that you never end up using [13:07] N0va has joined the channel [13:07] chjj: like for example, an avatar system when it would be better served by using gravatar, i barely ever see a forum that allows for a gravatar [13:07] astropirate: chjj, thye are starting to [13:07] adrianF has joined the channel [13:07] astropirate: or atleast with plugins [13:07] IrishGringo has joined the channel [13:08] chjj: astropirate: plugins is exactly what they dont need, its like forums are stuck in the late 90s or something [13:08] chjj: too much pointless bloat [13:08] chjj: just because they can [13:08] astropirate: chjj, your prolly thinking of vbulletin or phpbb there are much much more lightweight solutions [13:09] mike5w3c has joined the channel [13:09] astropirate: gotta step out, chjj we shall continue this :) [13:09] chjj: astropirate: yeah i am, and i think im justified in it, considering every live forum ive seen is usually phpbb [13:09] chjj: astropirate: roger [13:12] munichlinux has joined the channel [13:14] GrizzLyCRO has joined the channel [13:15] lzskiss has joined the channel [13:19] robi42 has joined the channel [13:21] gavin_hu_ has joined the channel [13:21] Cromulent has joined the channel [13:22] clu3 has joined the channel [13:23] frabcus has joined the channel [13:24] clu3_ has joined the channel [13:26] salva has joined the channel [13:27] slide has joined the channel [13:27] slide has joined the channel [13:31] salva has left the channel [13:31] czak has left the channel [13:32] adrianF has joined the channel [13:37] munichlinux has joined the channel [13:39] zentooo has joined the channel [13:40] sechrist_ has joined the channel [13:42] thax has joined the channel [13:43] CarterL has joined the channel [13:48] JakeyChan has joined the channel [13:49] insin has joined the channel [13:50] superjudge has joined the channel [13:51] cjm has joined the channel [13:54] meeech has joined the channel [13:55] _jgr has joined the channel [13:56] _jgr has joined the channel [13:57] _jgr has joined the channel [13:59] _jgr has joined the channel [13:59] TheJH: btw, you guys know what's fun? getetrs on the global object :) [13:59] TheJH: *getters [14:00] _jgr has joined the channel [14:00] marcello3d has joined the channel [14:01] cjroebuc_ has joined the channel [14:03] fairwinds has joined the channel [14:06] skm has joined the channel [14:07] sylvinus has joined the channel [14:07] elliottcable: If I need FILE* handles from Node streams, what should I do? (C++-side, obviously) [14:09] Kunda has joined the channel [14:10] elliottcable: trying to procure `FILE*` handles to hand to ncurses' `newterm(3)` [14:12] salva has joined the channel [14:13] pronam has joined the channel [14:14] elliottcable: ryah: I can't find any instances of `FILE` in the Node codebase (except in deps like OpenSSL); how does Node interact with file-descriptors, C++-side? I need to get some FDs out of Node when given, well, I dunno. I suppose an `fs.ReadStream` object? [14:15] iigrat has joined the channel [14:15] subbyyy has joined the channel [14:15] elliottcable: That's probably a stupid question. I'm very much a C-er, not a C++-er. >,> [14:16] k1ttty has joined the channel [14:16] TheJH: elliottcable, you'll have to look into libuv for that, I guess [14:17] elliottcable: Maybe what I'm trying to do is straight-up impossible. <,< [14:19] TheJH: elliottcable, would the fd number help you? [14:19] TheJH: elliottcable, because that's exposed in node core [14:20] elliottcable: TheJH: In some cases, if I want to be particularily unflexible. [14:20] TheJH: elliottcable, :D [14:20] elliottcable: Basically, I'm trying to *as directly as possible* expose the ncurses `newterm(3)` API, which expects an input-filedes and an output-filedes [14:20] elliottcable: ideally, I'd like to be able to (from Node-side, and using Node-FS-idioms) describe various targets for those [14:22] elliottcable: but even the mapping of the concepts is difficult at a high level ... much less how to *implement* them, navigating my way through the series of clusterfucks that is A) how Node treats “files” (/(Read|Write)able ‘Streams’/), B) how libuv treats the same (???, no idea, I'm not familiar with libuv yet); C) how C++ treats the streams, and D) how lower-level UNIX APIs treat the FDs relating to the C++ streams [14:22] elliottcable: it's going to be a pain |=< [14:26] acuster has joined the channel [14:27] bayesian: I just dove into "express"... one question I have is if I can use some other kind of template language? I'd like to use html5boilerplate, and I don't really want to port it to jade (which I haven't learned yet...) [14:27] lzskiss has joined the channel [14:29] maushu has joined the channel [14:31] LeMike has joined the channel [14:32] snikkt has joined the channel [14:36] thalll has joined the channel [14:36] chjj: bayesian: what do you mean? you can use whatever templating language you want [14:41] skm has joined the channel [14:44] adrianmg has joined the channel [14:45] adrianmg has left the channel [14:57] jzacsh has joined the channel [14:58] Vespakoen has joined the channel [14:58] cypherblue has joined the channel [14:59] Helloer has joined the channel [15:02] idefine has joined the channel [15:04] blueadept has joined the channel [15:06] tobias has joined the channel [15:07] Belchenko has joined the channel [15:08] amigojapan has joined the channel [15:08] `3rdEden has joined the channel [15:08] Belchenko: Hi :) [15:09] JakeyChan has joined the channel [15:09] sechrist has joined the channel [15:09] elliottcable: Hi (= [15:10] bayesian: hey, I need some help installing node-redis-client [15:10] maushu_ has joined the channel [15:10] Belchenko: Where i can begin study Node.js? [15:11] bayesian: "message Object.keys called on non-object" [15:11] bayesian: I installed using npm -d node-redis-client [15:11] jzacsh has joined the channel [15:12] bayesian: Belchenko, I recommend the "express" framework [15:13] Belchenko: npm install express? [15:13] bayesian: yes, but I recommend the web page [15:13] Belchenko: url? [15:13] bayesian: google it [15:14] mandric has joined the channel [15:14] Belchenko: https://github.com/visionmedia/express [15:14] bayesian: hey I am having trouble with finding the redis client... [15:15] chadskidmore has joined the channel [15:17] shiawuen has joined the channel [15:17] bayesian: hm many blog posts on node.js are somewhat outdated ^ ^ [15:17] bayesian: as in won't work at all... [15:17] Cromulent has joined the channel [15:18] Belchenko: ^ ^ [15:19] boltR has joined the channel [15:20] boltR has joined the channel [15:23] k1ttty has joined the channel [15:23] GrizzLyCRO1 has joined the channel [15:25] davidvanleeuwen has joined the channel [15:30] koo1 has joined the channel [15:32] akter has joined the channel [15:33] Blorb has joined the channel [15:33] adrianmg has joined the channel [15:35] devongovett has joined the channel [15:38] christoffe has joined the channel [15:39] marcello3d: woo woo [15:40] marcello3d: mongolian v0.1.14 released [15:40] stagas has joined the channel [15:40] wm_eddie has joined the channel [15:42] JakeyChan has joined the channel [15:46] marcello3d: is there a standard way to have a dynamically resizing buffer in node? [15:46] marcello3d: O(n)-style [15:46] salva has joined the channel [15:47] bayesian: marcello3d, you know that js is garbage collected? [15:48] moogoo: buffer isn't [15:48] marcello3d: sorry, I mean Buffer...e.g. new Buffer - http://nodejs.org/docs/latest/api/buffers.html [15:48] bayesian: hm don't know about that [15:48] marcello3d: it's a pretty standard node.js thing... [15:49] moogoo: buffer data is stored outside the v8 heap [15:49] marcello3d: I just don't want to do the whole double alloc and copy thing from scratch if there's a preferred way [15:50] bayesian: then just start with a big enough buffer [15:50] moogoo: but on the otherhand, memory is cheap [15:50] marcello3d: I don't know how much data I'm going to read [15:50] adrianmg has left the channel [15:50] moogoo: not even the order of magnitude [15:50] marcello3d: ideally yes, I'll start with a large enough buffer for most cases [15:51] marcello3d: but I don't want to crash if I get more data [15:51] herbySk has joined the channel [15:51] bayesian: then do the double malloc thing [15:51] marcello3d: ... [15:51] marcello3d: ok =P [15:52] einaros: NuckOff: on the contrary, client side js supports binary quite well. look up typed arrays. [15:53] JakeyChan has joined the channel [15:54] MatthewS has joined the channel [15:55] moogoo: cept FF still doesnt support DataView and thus big endian [15:55] moogoo: bastards [15:57] eldios has joined the channel [16:00] doctorm has joined the channel [16:00] marcello3d: fwiw, Buffer objects are garbage collected, it's just that the contents aren't memory managed by the gc [16:01] napperjabber has joined the channel [16:01] doctorm: Does anyone know why RegExp.exec would correctly match a strong only every other time? [16:01] doctorm: s/strong/string [16:01] Lingerance: Because you set it to global [16:02] doctorm: Lingerance: Ah. That's probably it! Thanks. But why? [16:02] Lingerance: global means look for more than one match [16:03] Lingerance: You have to loop until you hit null to get all of them. [16:03] Lingerance: Otherwise it only grabs the first possible match [16:04] doctorm: Ok, so if I did something like while(matches = regex.exec(myLine[i]) !== null) { } [16:04] doctorm: That would fix it? I mean, I guess it doesn't need to be global, I just took that out and it worked [16:04] Lingerance: I'm not sure if that does what you want because I don't know the order of operations [16:05] Lingerance: while (null !== (matches = regex.exec(myLine[i]))) { } [16:05] Lingerance: That'll work for sure though. [16:05] doctorm: I'm just trying to understand how exec works. String.match with global worked fine for testing the line, but didn't give me the captures [16:05] moogoo: or just while (matches = regex.exec(blah)) [16:06] moogoo: exec gives you more information than match [16:06] moogoo: .. /lol/.exec('catlolbot') [16:06] catb0t: [ "lol", index: 3, input: "catlolbot" ] [16:06] doctorm: Thanks, I found it a bit perplexing. The fact that you can use exec on a new line that should work, but it returns null, is counterintuitive [16:07] doctorm: Yeah, moogoo, that's why I had to use it. [16:07] elliottcable: ryah: (I'm headed off to slepe, but I'd still really like to have a quick chat with you 'bout Node, libuv, `FILE*`-streams/POSIX FDs, and the “appropriate” [in your opinion] way to map those concepts across eachother. Hilight me when you're around!) [16:07] moogoo: just how it works [16:07] elliottcable: s/slepe/sleep/ [16:08] moogoo: I miss my callable regexp's [16:08] Lingerance: Also: RegExp.prototype.matchAll = function(str) { var arr = [], match, li = this.lastIndex; this.lastIndex = 0; if (this.global) { while (null !== (match = this.exec(str))) { arr.push(match) } else { arr.push(this.exec(str)) }; this.lastIndex = li; return arr } [16:08] Lingerance: (Untested) [16:08] JakeyChan has joined the channel [16:08] brianseeders has joined the channel [16:08] doctorm: nice [16:09] marcello3d: it'd be really cool if there were a npm-equivalent for one-liners like that [16:09] marcello3d: or perhaps just some lightweight way of creating/maintaining single functions [16:09] doctorm: marcello3d: that would be cool [16:09] marcello3d: gist + npm + comment based package.json? [16:09] elliottcable: marcello3d: there is, actually; [16:09] maushu__ has joined the channel [16:10] elliottcable: well, it's not NPM-like [16:10] elliottcable: but you should definitely look at http://twitter.com/140JS [16:10] mnutt has joined the channel [16:10] elliottcable: and there's another one, I'm currently blanking on the name, that does something similar [16:10] Lingerance: Tested: RegExp.prototype.matchAll = function(str) { var arr = [], match, li = this.lastIndex; this.lastIndex = 0; if (this.global) { while (null !== (match = this.exec(str))) { arr.push(match) } } else { arr.push(this.exec(str)) }; this.lastIndex = li; return arr } [16:10] marcello3d: yea, basically that, but usable :) [16:10] moogoo: I hear copy and paste is good [16:10] marcello3d: but then I have to maintain updates ;D [16:10] pauls1 has joined the channel [16:10] doctorm: And it's copy and pasted all over the app [16:10] marcello3d: yea [16:11] marcello3d: plus 140 encourages obfuscation [16:11] moogoo: one liners are one liners [16:11] jzacsh has joined the channel [16:11] jzacsh has joined the channel [16:11] marcello3d: wonder if you can git submodule a gist [16:11] marcello3d: anyway [16:11] marcello3d: just a thought :) [16:11] Lingerance: It's a git repository, so yes. [16:12] marcello3d: not sure how well suited 140s are for drop in node files, they probably lack exports [16:12] Vennril has joined the channel [16:14] hellp has joined the channel [16:15] kenperkins has joined the channel [16:15] iigrat has joined the channel [16:16] rauchg has joined the channel [16:17] bayesian: never blocking is hard... [16:17] tbranyen: never blocking nights yea [16:17] bayesian: especially on the eyes [16:17] tbranyen: nah [16:18] bayesian: I am writing a simple redis login procedure and this is already more complicated than a jquery plugin [16:18] akter has joined the channel [16:18] chjj: haha [16:18] isaacs has joined the channel [16:18] chjj: "more complicated than a jquery plugin" [16:19] mmalecki: lol [16:19] chjj: that should be the node slogan [16:19] doctorm: Ah, the good ol' "Jquery Plugin Standard of Complexity" [16:19] mmalecki: that'd make a great topic [16:19] cody-- has joined the channel [16:20] iwan_ has joined the channel [16:21] tuhoojabotti: :D [16:21] astropirate: chjj, regarding our previous conversation, I quickly whiped up this: http://mansoorsayed.com/nodejs/index.php [16:21] cjm has joined the channel [16:22] astropirate: pretty rought ATM [16:22] astropirate: *rough [16:22] mmalecki: "index.php"? [16:22] tuhoojabotti: u mad? [16:22] mmalecki: my nightmares are back [16:22] chjj: astropirate: ewwww [16:22] chjj: astropirate: see, theres too much "stuff" with these forums [16:22] astropirate: ahhahaha [16:23] chjj: astropirate: theres junk all over the page [16:23] dr0id has left the channel [16:23] chjj: thats why i dont like forums [16:23] chjj: theyre just messy [16:23] astropirate: chjj, its only the first itteration [16:23] chjj: astropirate: write a forum in node! [16:23] astropirate: the "stuff" can be taken out [16:23] astropirate: chjj, i would [16:23] chjj: astropirate: your dirty php secret leaked [16:23] astropirate: i really would [16:23] redir_ has joined the channel [16:23] astropirate: but i don't have 2 years to spend on it :p [16:23] chjj: astropirate: why not? [16:23] chjj: no excuses [16:24] astropirate: because i'm working on other cool junk [16:24] tuhoojabotti: Hmm [16:24] chjj: hey, guys that reminds me [16:24] chjj: we forgot to bikeshed about the new site design [16:24] chjj: what the hell [16:24] tuhoojabotti: what [16:24] realguess has joined the channel [16:24] astropirate: bikeshed? [16:24] chjj: yes [16:25] chjj: we bikeshed about logos but not about the site's redesign? [16:25] marcello3d: chjj: there was a thread about it [16:25] chjj: seems inconsistent [16:25] chjj: oh [16:25] chjj: i missed it then [16:25] chjj: =/ [16:25] marcello3d: complaining about microsoft being at the top of the fold [16:25] marcello3d: and the download button being on top [16:25] marcello3d: and so on [16:25] marcello3d: gripping stuff, I say [16:25] chjj: marcello3d: ahh, how did i miss this?! [16:25] marcello3d: too busy doing actual work? :D [16:26] Hounth has joined the channel [16:26] chjj: no, i like bikeshedding! and getting mad at microsoft for trying to steal our platform and use it for evil [16:26] tuhoojabotti: chjj: What language is that? [16:26] marcello3d: the topic is "[nodejs] nodejs.org" [16:26] marcello3d: only 63 replies [16:26] chjj: tuhoojabotti: language? [16:27] chjj: oh, it didnt have a sensationalist title, thats probably why i missed it [16:27] tuhoojabotti: http://en.wiktionary.org/wiki/bikeshedding [16:27] chjj: yes ^ [16:27] marcello3d: man if you don't read every post on nodejs mailing list, how can you call yourself a nodejsian [16:27] chjj: i dont know :( [16:28] marcello3d: ACTION is working to replace yet another piece of mongodb-native with new code in monglian [16:29] marcello3d: 430 lines down to 81 [16:29] marcello3d: I'm sure I'm missing something, probably not as performant [16:29] chjj: did you throw it in a trash compactor? [16:29] marcello3d: I rewrote it =P [16:30] devongovett has joined the channel [16:30] scttnlsn has joined the channel [16:30] chjj: i wrote an epic file manager in 2 seconds: https://gist.github.com/1490353 [16:31] chjj: does anyone have an implementation of cp -rf in node? [16:31] chjj: or cp -r [16:31] marcello3d: 2 seconds? [16:31] marcello3d: impressive [16:31] chjj: flat [16:31] hackband has joined the channel [16:31] doctorm: child_process.spawn('cp', ['-r']) ? [16:31] chjj: doctorm: that is my current implementation [16:31] MrNko has joined the channel [16:31] marcello3d: chjj: pretty sure I've seen some modules for such [16:32] scttnlsn: with node-mongodb-native is there a way to get a list of the dbs? [16:32] chjj: marcello3d: i cant find one, been looking all over, the one i did find wasnt complete [16:32] Lingerance: chjj: Yes, one sec [16:32] chjj: marcello3d: i wrote my own, but im scared to use it for real :) [16:33] chjj: its about 100 lines only [16:33] chjj: seems like it should require more than that [16:33] Lingerance: nm, wrong command. [16:33] marcello3d: scttnlsn: in mongolian you just do server.dbNames(function(error,names) { ... }) [16:33] chjj: Lingerance: what command was it? [16:33] Lingerance: I have mkdir -p [16:33] chjj: ah, that one i did [16:34] chjj: and seems to work easily enough [16:34] luxigo has joined the channel [16:34] chjj: thanks anyway [16:34] chjj: maybe cp -r has never been done [16:34] marcello3d: doooo eeet [16:34] chjj: someone needs to port gnu coreutils to node [16:35] marcello3d: release itttt [16:35] chjj: everything! [16:35] dthompso99 has left the channel [16:35] delian66 has joined the channel [16:37] dthompso99 has joined the channel [16:37] mmalecki: there's cp -r in node [16:38] mmalecki: ncp [16:38] mmalecki: !npm info ncp [16:38] jhbot: ncp by AvianFlu, version 0.2.3: Asynchronous recursive file copy utility. [16:38] marcello3d: I knew it [16:38] chjj: also, a cp -rf would require an rm -rf by nature [16:38] chjj: ohh [16:38] chjj: awesome [16:40] chjj: gonna try this, if it wipes my disk im going to be very upset [16:41] mraleph1 has joined the channel [16:41] mmalecki: lol [16:41] chjj: seems to work well [16:43] mraleph has joined the channel [16:43] aroman has left the channel [16:43] astropirate: i think this looks pretty http://mansoorsayed.com/nodejs/index.php [16:44] chjj: astropirate: why is there still junk everywhere? [16:44] astropirate: chjj, where? i took 90% of things off [16:44] astropirate: lol [16:44] astropirate: force refresh [16:45] madhums has joined the channel [16:45] chjj: astropirate: the login for example, you have a "Login" link already. "view unanswered posts", "view active topics", "the team", "delete cookies" [16:45] chjj: all nonsense [16:45] astropirate: haha i missed those [16:45] chjj: and then all the sorting stuff [16:45] astropirate: brb [16:45] chjj: forum permissions [16:45] chjj: etc [16:46] chjj: i cant even think with this much stuff on my screen [16:46] chjj: someone really should write a good forum in node [16:47] dharmesh has joined the channel [16:48] scottschecter has joined the channel [16:49] astropirate: chjj, yes *someone* should [16:50] chjj: astropirate: looking better, but it still has the stench of phpbb lingering [16:50] astropirate: refresh [16:50] astropirate: i just updated [16:50] chjj: did [16:51] bacon000 has joined the channel [16:51] Bioxyde has joined the channel [16:51] chjj: if i made a forum, it wouldnt have pointless sorting controls [16:51] mnutt has joined the channel [16:51] braoru has joined the channel [16:51] Bioxyde has left the channel [16:52] joemccann has joined the channel [16:52] frabcus has joined the channel [16:52] mmalecki: is there something like ruby on rails migrations for node? [16:53] chjj: i hope there is nothing like ruby on rails involved with node [16:54] mmalecki: lol, yeah. I just find them quite useful (yeah, really) [16:54] chjj: thats fine, i just like making fun of rails [16:54] chjj: :) [16:54] mmalecki: who doesn't :) ? [16:55] mikzzz has joined the channel [16:56] _unary has joined the channel [16:58] jarek has joined the channel [16:58] jarek has joined the channel [16:58] jetienne_ has joined the channel [17:03] astropirate: chjj, check it out [17:06] chjj: astropirate: k, that looks better [17:06] gsmcwhirter has joined the channel [17:06] chjj: astropirate: except for the users post count and join date, etc [17:06] chjj: astropirate: on a post [17:06] chjj: astropirate: that whole bar seems unnecessary [17:06] astropirate: i like that [17:06] chjj: astropirate: it already shows the username under the title of the post [17:07] benlyn has joined the channel [17:07] chjj: astropirate: another thing is the meaningless querystrings, id think youd have to rewrite the forum to fix that though [17:08] chjj: ?f=2&t=1 [17:08] astropirate: there is a mod for that! [17:08] astropirate: :D [17:08] astropirate: lol actually i don't know [17:08] astropirate: but i'm not going to mess with that [17:09] astropirate: sounds like too much work [17:09] bayesian: How do you avoid repeating base html code in mustache? [17:09] bayesian: I don't really want to repeat all the header and navigation stuff in every template.... [17:10] GrizzLyCRO1: i do not know how mustache works, but [17:10] GrizzLyCRO1: it should be possible to render html from mustache in variable? [17:11] GrizzLyCRO1: so you render your content page in variable, and insert it in layout [17:11] booyaa has joined the channel [17:12] AndreasMadsen has joined the channel [17:12] bayesian: yes probably [17:12] bayesian: just one of the things I miss in node.js from Django... I guess for larger projects I would make template tag that implements that [17:13] kriskropd has joined the channel [17:13] JaKWaC has joined the channel [17:13] AndreasMadsen: When should I use process arguments, and when should I use process environment? [17:20] boltR: i'm trying to return a variable from childprocess.exec [17:20] boltR: but it keeps getting destroyed [17:20] igl1: moa info [17:20] boltR: i'll pastebin some code [17:21] christoffe has joined the channel [17:22] gflarity has joined the channel [17:22] cody-- has joined the channel [17:23] Cromulent has joined the channel [17:23] __tosh has joined the channel [17:23] scottschecter has joined the channel [17:24] rauchg has joined the channel [17:24] MatthewS has joined the channel [17:24] Destos has joined the channel [17:24] wingie: http://blog.pinboard.in/2011/12/don_t_be_a_free_user/ [17:24] boltR: i just realized i could handle stdout outside of the exec function [17:24] booyaa has joined the channel [17:24] boltR: but i'm still interested in knowing why this doesn't work [17:24] boltR: http://dpaste.com/674754/ [17:24] ditesh|cassini has joined the channel [17:25] igl1: ^^ [17:25] gflarity: boltR: what happens? [17:25] igl1: because exec is asnycron [17:25] gflarity: oh ya [17:25] boltR: gflarity: result is undefined [17:25] igl1: it will fill up "result" long after it returned already [17:25] igl: going nowhere [17:26] boltR: ah i see [17:26] boltR: thanks for explaining :) [17:26] igl: you cannot "return" a function asyncronous [17:27] boltR: so i would just have to handle stdout from the object returned by exec right? [17:27] christoffe has joined the channel [17:27] boltR: rather than inside it [17:27] AndreasMadsen: You should do so something like: http://dpaste.com/674756/ [17:28] boltR: hmm interesting [17:28] gflarity: boltr: here's more likely how you want to do this http://dpaste.com/674758/ [17:29] AndreasMadsen: You can then use get_data(function (data) { /* use data */ }); [17:29] gflarity: good style, or rather accepted cannonical style is to have error be the first param of the callback [17:30] boltR: so the parameter in both these cases is a function? [17:30] fzzzy has joined the channel [17:30] gflarity: yes [17:30] gflarity: callback [17:30] boltR: i.e. get_data? [17:30] AndreasMadsen: You should use @gflarity if you do not want error error handling inside get_data. [17:30] gflarity: get_data is function, on_result is also a function [17:30] gflarity: (for my example, cb for Andreas') [17:30] AndreasMadsen: Yes functions as parameter is a big part of JavaScript [17:31] boltR: ah i see [17:31] AndreasMadsen: It's the essence of async code [17:32] boltR: okay i'll work with these examples [17:32] boltR: thanks gflarity and AndreasMadsen [17:33] devongovett has joined the channel [17:33] gflarity: boltR: np, it's worth your time to watch the intro video I think: http://www.youtube.com/watch?v=jo_B4LTHi3I [17:33] ceej has joined the channel [17:34] boltR: gflarity: sweet i'll check it out thanks! [17:34] alnewkirk has joined the channel [17:34] maushu_ has joined the channel [17:35] EvRide has joined the channel [17:35] jergason has joined the channel [17:35] isaacs has joined the channel [17:37] npa has joined the channel [17:37] jzacsh has joined the channel [17:37] jzacsh has joined the channel [17:37] az_ordog_maga_1 has joined the channel [17:38] raincole has joined the channel [17:39] dgathright has joined the channel [17:39] imtzo has joined the channel [17:39] adambeynon has joined the channel [17:40] jocafa has joined the channel [17:40] mmalecki_ has joined the channel [17:40] AndreasMadsen has joined the channel [17:41] imtzo has left the channel [17:41] lzskiss has joined the channel [17:44] LarsSmit has joined the channel [17:45] mmalecki has joined the channel [17:47] napperjabber has joined the channel [17:47] Ownatik has joined the channel [17:50] caolanm has joined the channel [17:51] sechrist_ has joined the channel [17:52] sechrist has joined the channel [17:53] Jippi has joined the channel [17:58] issackelly_ has joined the channel [17:59] stisti has joined the channel [17:59] prolificcoder has joined the channel [18:00] mnutt has joined the channel [18:00] Juan77 has joined the channel [18:01] jetienne has joined the channel [18:01] stisti has joined the channel [18:01] prolificcoder: what are my options to deply if I am on shared hosting [18:01] jetienne_ has joined the channel [18:02] pekim has joined the channel [18:02] Lingerance: ... and ugly hack of scripts [18:02] nerdfiles1 has joined the channel [18:03] Lorentz: Depending on host, but once I had the pleasure of been given ssh to their hosting, and they had gcc installed on the server [18:03] Lorentz: but no svn or git or anything [18:04] nerdfiles1 has left the channel [18:04] prolificcoder: i have ssh access and git as well [18:04] replore has joined the channel [18:04] replore_ has joined the channel [18:05] prolificcoder: if I want to see output on say mydomain.com/node how can i do it? [18:05] ljackson has joined the channel [18:05] lzskiss has joined the channel [18:06] prolificcoder: right I can only do $curl localhost:8000> ~/public_html/trash.html to see the view [18:08] MatthewS has joined the channel [18:11] sh1mmer has joined the channel [18:14] rauchg\ has joined the channel [18:14] appinsanity-mike has joined the channel [18:18] hipsters_ has joined the channel [18:19] redir__ has joined the channel [18:19] lietu-: I open a file with fs.createWriteStream('path', options); ... seems to work fine, but after the first .write() on the returned object, it seems to stop accepting writes, any ideas? [18:19] heavysixer has joined the channel [18:20] dexter_e has joined the channel [18:20] lietu-: seems to be related to the daemon.node module's .daemonize() [18:21] lietu: if I call it, I get this issue, if I don't, I don't have the issue [18:21] mmalecki: lietu: fork doesn't work in 0.6 anymore [18:21] lietu: damn ... ok [18:21] mmalecki: file descriptors get fucked somewhere [18:22] tomilaine: /j #spine.js [18:22] tomilaine: :( [18:23] rauchg has joined the channel [18:24] mandric has joined the channel [18:24] Brandon_R has joined the channel [18:24] Brandon_R: Hey guys [18:25] SamuraiJack has joined the channel [18:25] josephg has joined the channel [18:25] patcito has joined the channel [18:26] neynenmo has joined the channel [18:26] petrjanda has joined the channel [18:26] neynenmo has left the channel [18:26] dexter_e: I'm having npm install fail: I wonder if anyone can make anything out of this error: https://gist.github.com/1490955 [18:27] dexter_e: It works on Local no problem, but fails on Ubuntu ( same NPM version ) [18:27] Lingerance: (see '/drx/bp_www/node_modules/canvas/build/config.log') [18:27] dharmesh has joined the channel [18:27] dexter_e: that doesn't exist [18:28] dexter_e: I tried to locate that folder [18:28] postwait has joined the channel [18:28] Lingerance: Does /drx/bp_www/node_modules/canvas/build exist? [18:28] dexter_e: no [18:28] dexter_e: canvas folder doesn't exist at all [18:28] lietu: it can't find libraries [18:29] Lingerance: Is cairo-dev installed [18:29] Juan77 has joined the channel [18:29] dexter_e: I don't think so [18:29] dexter_e: but cairo-dev didn't pop up on Local and on the other server. [18:29] shinuza has joined the channel [18:31] dexter_e: I thought cairo-dev is one of the things its supposed to install right ? [18:31] Lingerance: npm doesn't install system packages... [18:32] localhost has joined the channel [18:32] dexter_e: Lingerance: Thank You. Thats gotta be it! I'm gonna try that [18:33] dexter_e: I don't know HOW you fished that out of that error messages [18:33] Lingerance: It's the line above error messages. [18:33] Lingerance: You're also missing libgif-dev and libjpeg-dev [18:33] scottschecter has joined the channel [18:34] BillyBreen has joined the channel [18:34] dexter_e: Checking for cairo : not found you're right ( face palms ) [18:34] megalomix has joined the channel [18:34] dexter_e: although on Local libgif and libjpeg are NOT found and it works just fine [18:34] dexter_e: but Cairo IS found [18:34] megalomix: hello [18:35] christoffe has joined the channel [18:35] dexter_e: Lingerance: Thanks again! lietu; thanks as well [18:35] brianloveswords has joined the channel [18:35] wilmoore has joined the channel [18:35] megalomix: someone know how to work with partials? (express.js) [18:36] kitt has joined the channel [18:37] Brandon_R: hey guys [18:37] Brandon_R: i don't feel like programming [18:37] megalomix: Brandon_R, do you use express ? :) [18:37] Brandon_R: yeah [18:38] Brandon_R: hey guys [18:38] Brandon_R: can i see some node.js benchmarks? [18:38] Kunda has joined the channel [18:38] Brandon_R: i'm feeling a little down today [18:38] Brandon_R: recent benchmarks like for the 6.X versions [18:38] megalomix: Brandon_R, i'm working with partials [18:39] flat has joined the channel [18:39] megalomix: i have test.ejs and header.ejs [18:39] megalomix: i have to include header.ejs inside test.ejs [18:39] megalomix: i tried with [18:39] megalomix: partial('header', {}) [18:39] megalomix: but i don't see any result [18:39] megalomix: <% partial('header', {}) %> [18:40] dexter_e: Attributes of a hardcore programmer: * When feels down * looks at benchmarks to feel better. [18:40] dharmesh has joined the channel [18:41] c-rich has joined the channel [18:41] c-rich: somebody on [18:41] megalomix: someone could help me with express.js partial ? [18:41] megalomix: i don't know how to include an ejs file inside another [18:41] Brandon_R: oh [18:41] Brandon_R: i use nade [18:41] Brandon_R: jade [18:41] c-rich: cool [18:42] Brandon_R: is it template specific? [18:42] c-rich: hey brandon do you know how to install node js? [18:42] Lingerance: c-rich: There's plenty of instructions for that. [18:42] c-rich: I'm keep getting an error message that says "could not configure a cxx compiler! [18:42] Lingerance: Then you're missing a C++ compiler. [18:42] c-rich: yeah but I've tried everything [18:43] Lingerance: ... or libc++ [18:43] ericmuyser has joined the channel [18:43] c-rich: ok [18:43] Brandon_R: what is your os [18:43] c-rich: windows 7 [18:43] Lingerance: There's precompiled versions. [18:43] c-rich: oh really [18:43] Lingerance: Use those. [18:44] redir has joined the channel [18:44] c-rich: ok, are they executable files? [18:44] Brandon_R: yeah [18:44] Lingerance: Yes [18:44] Brandon_R: installable [18:44] c-rich: cool [18:44] c-rich: let me try man because this has been a pain in the @$$ [18:44] Brandon_R: those articles friom 2010 about how to install cygwin and node.js on top of it is still in effect i see :D [18:45] c-rich: OK [18:46] megalomix: Brandon_R, i can use template [18:46] megalomix: i have different pages [18:46] megalomix: i need to include a file [18:46] chjj: ugh, windows compatibility is hard...where do people put temporary files on windows? [18:46] megalomix: a view [18:46] megalomix: no view [18:46] megalomix: a partial of the html code [18:47] Lingerance: chjj: %TEMP% [18:47] benvie: temp is in an environmental variable [18:48] Brandon_R: i like how someone can write a http server in erlang in about 10 files [18:48] Brandon_R: is it a http or an http? [18:48] Lingerance: an [18:48] Brandon_R: h is treated like a psudovowel? [18:48] gflarity has joined the channel [18:49] andrewfff has joined the channel [18:49] megalomix: ? [18:49] aroman|nom has joined the channel [18:50] Lingerance: "H" is pronounced similar to "ache", not that it's a psuedo-vowel, it's that it starts with a vowel when pronounced [18:50] aroman|nom: how am I supposed to iterate over an array in node? for..in and myarray[i]? [18:50] Lingerance: No. [18:50] Lingerance: for (var i = 0; i < myarray.length; ++i) { ... } [18:50] McMAGIC-1Copy has joined the channel [18:51] nerdfiles1 has joined the channel [18:51] aroman|nom: Lingerance: and then myarray[i]? [18:51] Lingerance: myarray.forEach(function(v, i) { } [18:51] Lingerance: One of those two. [18:51] Lingerance: Yes. [18:51] aroman|nom: oh the latter is what I want. [18:51] aroman|nom: I want to iterate by value, not key. [18:51] KiNgMaR: for(var i in myarray) { var value = myarray[i]; } is simpler [18:51] aroman|nom: KiNgMaR: that [18:51] flat has left the channel [18:51] aroman|nom: is what I'm using right now. [18:51] Lingerance: It's also going to hurt. [18:52] Lingerance: If anything extends Array.protorype it'll pick those extensions up. [18:52] nerdfiles1 has left the channel [18:52] aroman|nom: fair enough [18:52] aroman|nom: and adding two arrays? [18:52] KiNgMaR: right indeed [18:53] Brandon_R: the for loop is blocking am i right? [18:53] Brandon_R: i would use something like async.js or promises for this [18:53] Lingerance: [1,2,3].concat([4,5,6]) [18:53] Lingerance: Both are blocking. [18:54] Lingerance: (IE: for loop and .forEach) [18:54] boltR has joined the channel [18:54] metalball2 has joined the channel [18:54] k1ttty has joined the channel [18:55] megalomix: Nobody use partial with Express.js ? [18:55] heavysixer has joined the channel [18:55] zmbmartin has joined the channel [18:55] Lingerance: ACTION was certain there was an #expressjs here... [18:56] zmbmartin has left the channel [18:56] lulzilla has joined the channel [18:58] kmiyashiro has joined the channel [18:59] Juan77 has joined the channel [18:59] JaKWaC: In socket.io is there an easy way to close a connection with a client? I looked at the socket object passed in on connection and didnt find anything. [19:00] mmalecki has joined the channel [19:00] mike5w3c_ has joined the channel [19:01] lulzilla has joined the channel [19:02] lulzilla: f [19:02] k1ttty has joined the channel [19:02] braoru has joined the channel [19:02] lulzilla: So I have a route - app.get('/:type/:id ... which hijacks the requests for /javascripts/one.js. To beat that I did a condition check if (!req.params.qid == 'javascripts'). But now I want to have a catch-all 404 handler which I defined app.get('*'... Because of the catch-all route, the request to /javascripts/one.js is being 404ed. Any tips? [19:02] Brandon_R: hey guys [19:02] Brandon_R: how many of you guys program for a living? [19:02] Brandon_R: i have some questions [19:03] Dmitrijus: ACTION does [19:03] mmalecki: I do. sup? [19:03] Brandon_R: do you get to travel plenty? [19:03] Brandon_R: like to san fransico and nyc to watch talks etc? [19:03] mmalecki: it's a nice coincident, I do what I love and these people pay me to do it [19:03] Brandon_R: and how would you describe your life? [19:04] Dmitrijus: Brandon_R: no, but I'm from the europe [19:04] mmalecki: yeah, same [19:04] Brandon_R: do you make enough money to keep up with the latest tech gadgets etc? [19:04] Brandon_R: not sure if i should be a computer programmer or a computer engineer [19:04] Dmitrijus: Brandon_R: yep :) [19:04] Brandon_R: software vs hardware is a hard choice [19:05] mmalecki: you can do both [19:05] Dmitrijus: Brandon_R: what exactly do you mean by "hardware"? :) [19:05] Brandon_R: i probably will :) [19:05] Brandon_R: like build stuff [19:05] Brandon_R: electrical engineering [19:05] Dmitrijus: i do to, as a hobby [19:05] Brandon_R: cool [19:06] mmalecki: well, I used to build robots [19:06] Brandon_R: do you know the theory behind it etc or did you just build robots as a hobby? [19:06] mmalecki: I don't have that much time to do it now [19:06] romanb_ has joined the channel [19:06] mmalecki: hobby [19:06] Brandon_R: i might want to learn the mathematics behind it [19:07] insin has joined the channel [19:07] Dmitrijus: Brandon_R: well, you don't need a lot of theory for a robot [19:07] Brandon_R: where in europe do you live? [19:07] Dmitrijus: amsterdam [19:07] Brandon_R: i mean like quantum and nano robots :D [19:07] mmalecki: I live in Poland [19:07] Brandon_R: do you smoke weed? [19:07] mmalecki: lol [19:07] Brandon_R: that law put you guys on the map lol [19:08] Dmitrijus: what law? [19:08] Brandon_R: recreational smoking [19:09] Brandon_R: anyways [19:09] Brandon_R: back to node.js [19:09] Dmitrijus: :( [19:11] aaronmcadam has joined the channel [19:11] Brandon_R: hope nothing happen to you guys :) [19:11] Brandon_R: with the euro crisis and such [19:12] skunkape has joined the channel [19:14] mmalecki: I'm fine as long as I can code [19:15] Brandon_R: same [19:15] Brandon_R: are you married? [19:16] lulzilla has joined the channel [19:16] mmalecki: haha, no, I'm 17 man [19:17] Brandon_R: oh [19:17] Brandon_R: cool [19:17] Brandon_R: i thought you was 27 for some reason [19:17] Brandon_R: why am i asking you life advice lol [19:17] jaequery has joined the channel [19:17] towski has joined the channel [19:18] skmp: software is more fun [19:18] Dmitrijus: depends [19:19] Dmitrijus: ACTION loves to solder! [19:19] Brandon_R: if i get to use cutting edge new technology like node.js and write super cool social applications then definitly yes [19:19] mmalecki: Dmitrijus++ [19:19] catb0t: Dmitrijus now has 1 beer [19:19] Brandon_R: if i am stick supporting some legacy bank code then no [19:19] toddy has joined the channel [19:20] Dmitrijus: Brandon_R: you are always bound to supporting some crappy/legacy code :) [19:20] Dmitrijus: Brandon_R: even if it was written by you, a few months ago [19:21] Brandon_R: true [19:21] MatthewS has joined the channel [19:22] mmalecki: I love my future me so I comment my code [19:23] mmalecki: (future me should be always considered a psycho with a gun) [19:24] MatthewS has joined the channel [19:24] Brandon_R: i like that quote [19:26] marcello3d: what does ENOENT mean when trying to do new net.Socket().connect? [19:26] CrypticSwarm has joined the channel [19:27] marcello3d: ah, port and host are swapped [19:29] TimTimTim has joined the channel [19:31] lulzilla has joined the channel [19:32] TheJH has joined the channel [19:33] cognominal has joined the channel [19:34] AndreasMadsen has joined the channel [19:35] Cromulent has joined the channel [19:36] tkaemming has joined the channel [19:36] gigafied has joined the channel [19:38] _jgr has joined the channel [19:39] cjm has joined the channel [19:39] _jgr has joined the channel [19:40] robi42 has joined the channel [19:46] lietu: amazing success ... writing a HTTP proxy that does some content manipulation ... got wget client to segfault ;) [19:49] Dmitrijus: lietu: awesome! [19:49] scottschecter has joined the channel [19:49] insin: you literally blew wget's mind :) [19:50] lietu: but it's fast, segfaults in <25msec! ;) [19:51] githogori has joined the channel [19:51] dharmesh has joined the channel [19:51] jbpros has joined the channel [19:55] mmalecki: lolwin [19:55] mmalecki: lietu: code somewhere? [19:56] omenar has joined the channel [19:57] Vespakoen has joined the channel [19:57] Vespakoen: Did / Does anyone in here ever use CodeIgniter? [19:58] lietu: no, not yet ... will put it to google code once it's done, I'll figure this out eventually ;) [19:58] lietu: it started occurring once I tried to gzip the content of the response [19:59] omenar has joined the channel [20:00] tuhoojabotti has joined the channel [20:01] lietu: I think I'll replace wget with nc for now ;) [20:03] joshontheweb has joined the channel [20:03] Vespakoen: I am building a framework on top of Node.js (+ express) and since i am pretty new to the commonjs stuff, i am hoping that anyone in here is willing to take a quick peek at my code and see if i am doing things horribly wrong or if im on the good path, you can find the code @ https://github.com/IgnitedNode/Core [20:04] Vespakoen: any tips are greatly appreciated =) [20:04] nodebiscut has joined the channel [20:05] lietu: hah .. ok, wasn't gzip related, forgot that I did another change at the same time, accidentally returned "HTTP/1.1 20" instead of "HTTP/1.1 200" on the first line [20:05] ericmuyser has joined the channel [20:07] chjj: Vespakoen: 2space tabs if you want to hang with the cool kids ! [20:07] ericmuyser has joined the channel [20:07] chjj: Vespakoen: ;p [20:09] Xano has joined the channel [20:09] Vespakoen: I see? but CodeIgniters are used to 4 spaces, and i want them to be able to make the step to the PHP Scriptkiddie to NodeJS coolkid =P [20:09] mikeal1 has joined the channel [20:09] Vespakoen: anyways, its an easy change, i could do that [20:10] adrianmg has joined the channel [20:10] `3rdEden has joined the channel [20:10] adrianmg has left the channel [20:10] chjj: Vespakoen: haha, dont change because of me [20:10] skmp: 8 space tabs ftw [20:10] chjj: Vespakoen: if you like tabs, use tabs [20:10] Vespakoen: lol [20:11] Vespakoen: yeh well, they are tabs so if i configurate my IDE to use 2 or 4 or 8 spaces as a "tab" it should all be fine right ? [20:13] mikeal has joined the channel [20:13] wilmoore has joined the channel [20:13] skmp has left the channel [20:14] Vespakoen: Anyone spot any structural problems in my code besides the uncool tab size =) ? [20:17] lietu: tab = tab, I think the people who like to use space instead of tabs are the same people who still code in COBOL [20:19] systemfault: What? [20:19] systemfault: Stop smoking. [20:19] systemfault: Tabs are for idiots. [20:20] Dmitrijus: well, one word, expandtab [20:20] lietu: your argument fails to convince me [20:20] systemfault: Dmitrijus: I totally agree :) [20:20] AndreasMadsen has joined the channel [20:21] Vespakoen: so spaces VS tabs, interesting, can anyone convince me to use spaces? [20:21] CarterL has joined the channel [20:22] systemfault: lietu: Let's say that you make a fluent builder, you would like all the dots on their own line.. aligned with the first one.. With spaces, it works but with tabs, it depends on the settings of the editor.. [20:22] systemfault: Same thing for function arguments on more than a single line. [20:22] lietu: so don't indent them in a way that depends on the tab length [20:23] systemfault: The best is simply to use tabs.. but that the editor converts them to spaces seamlessly (like Dmitrijus said) [20:23] Vespakoen: soft-tabs =) [20:23] lietu: I only have bad experiences with that [20:23] Dmitrijus: the problem with tabs is that it is next to impossible to control every programmer in a team to use the same settings [20:23] Vespakoen: well, i dont like to put things on more lines, i also turn off word-wrap in every editor i get my hands on, i dont like the looks of it [20:23] lietu: the point with tabs is that they shouldn't need to [20:24] Vespakoen: i have a 17 inch screen, i can see pretty much all my code= P [20:24] erichynds has joined the channel [20:24] Vespakoen: 1900px i mean [20:24] systemfault: lietu: Nicely written code doesn't fit on a 2/4/8chars grid. [20:25] lietu: you don't have to spend a lot of time formatting it so all variable definitions align nicely ... I don't see why anyone would ... and that's pretty much the only reason anyone would want to use spaces instead of tabs [20:26] swair has joined the channel [20:26] Dmitrijus: lietu: well, personally, i don't mind tabs, as long as you dont [20:26] lietu: the main point with tabs really is that anyone can just use whatever setting they prefer, be it tabs with width of 2, 4, 8 or 16 [20:26] systemfault: lietu: Because some people actually care about their craft. [20:26] Dmitrijus: intermix them with spaces [20:26] systemfault: Instead of spitting line of shitty code. [20:26] systemfault: *lines [20:27] insin: you don't have to spend a lot of time doing it if it's what you do first time [20:27] lietu: lol ... well, I do care about my craft, and I care enough to know that aligning stuff is for graphical designers, not for programmers .. I make good code, well documented, etc., I do not have to think how it looks like ;) [20:27] systemfault: lietu: Bullshit. [20:27] yozgrahame has joined the channel [20:27] insin: your pattern-matching machine of a brain cares :) [20:28] systemfault: If you care, you would write easy to read/understand code. [20:28] cjm has joined the channel [20:28] lietu: sure, easy to read, easy to understand, that does NOT include "well aligned to look pretty" [20:28] systemfault: Sure it does [20:28] insin: it helps [20:28] lietu: if the alignment actually serves a purpose, you can achieve it with tabs just fine [20:28] swair: I have a old version of npm installed and i'm not able to unistall it either..it gives out errors for every single command : http://paste.ubuntu.com/773731 [20:28] swair: how do i uninstall? [20:28] Dmitrijus: lietu: yep, you are right :) [20:28] lietu: in 99.999% of the cases the developers just do it to avoid doing real work [20:29] insin: unless they did it that way first time [20:29] hipsters_ has joined the channel [20:29] systemfault: That must be why most people suck at programming... They don't care. [20:30] lietu: in my experience it's the other way around, they care, a lot, about the wrong things ... little one pixel errors, or aligning variables, instead of actually making code that works ;) [20:30] systemfault: Then hire competent people. [20:30] jsj has joined the channel [20:31] jacobolus has joined the channel [20:31] enmand has joined the channel [20:31] lietu: mjeah, anyways, eventhough this was a fun distraction for a few moments, I've got better things to do ;) -> [20:32] Vespakoen: i am with lietu on "caring" [20:33] Vespakoen: i see a lot of people fail at writing code because they are to busy figuring out what i the fastest coolest thing around [20:33] Vespakoen: wich is good, a lot of people do it to much, use what works, and make it work [20:33] systemfault: Wow.. You guys love extremes.. right? [20:33] systemfault: How about a programmer who can judge correctly? [20:36] brentrockwood has joined the channel [20:38] Vespakoen: nahh i am not [20:41] DTrejo has joined the channel [20:44] _jgr has joined the channel [20:44] AD7six has joined the channel [20:45] _jgr has joined the channel [20:45] sh1mmer has joined the channel [20:46] _jgr has joined the channel [20:47] Brandon_R has joined the channel [20:47] Brandon_R: hi [20:47] _jgr has joined the channel [20:48] Swizec has joined the channel [20:48] _jgr has joined the channel [20:49] joshthecoder has joined the channel [20:50] _jgr has joined the channel [20:50] eirikb has joined the channel [20:51] _jgr has joined the channel [20:52] _jgr has joined the channel [20:52] eirikb: Hello. Anyone else having issues with latest nquery in npm? libxmljs install fails [20:53] Fuu has joined the channel [20:53] Dmitrijus: Brandon_R: hi! [20:53] _jgr has joined the channel [20:53] Brandon_R: hi [20:53] Brandon_R: what's cooking? [20:54] Dmitrijus: nothing, me is bored [20:54] _jgr has joined the channel [20:54] CIA-109: node: 03Andreas Madsen 07master * rb084322 10/ (3 files in 3 dirs): [20:54] CIA-109: node: Add silent option to child_process.fork [20:54] CIA-109: node: Fixes #2354. - http://git.io/G6Jiww [20:54] Brandon_R: same [20:54] Brandon_R: do you know erlang? [20:54] Dmitrijus: yes [20:55] Brandon_R: cool [20:55] Brandon_R: do you code anything in it or just node [20:55] _jgr has joined the channel [20:56] Dmitrijus: Brandon_R: i've used to work in an erlang startup for a year :) [20:56] Brandon_R: nice. which one? [20:56] Brandon_R: how did it work out? [20:56] Dmitrijus: Brandon_R: ah, some secret one [20:56] Brandon_R: lol [20:56] _jgr has joined the channel [20:56] Brandon_R: was erlang a right choice for it or do you think it could have gone with a more mainstream language? [20:56] mmalecki: Dmitrijus: Zurych, perchance? [20:57] Dmitrijus: mmalecki: nope [20:57] theo has joined the channel [20:57] mmalecki: *Zurich [20:57] mmalecki: always worth asking :) [20:57] Dmitrijus: Brandon_R: dunno :) [20:57] Dmitrijus: Brandon_R: i can't decide whether it is successful or not [20:57] _jgr has joined the channel [20:58] Brandon_R: what did it do? networking or more text manipulation [20:58] Dmitrijus: buisiness process management, actually [20:58] Brandon_R: oh [20:58] _jgr has joined the channel [20:58] chjj has joined the channel [20:59] _jgr has joined the channel [21:00] _jgr has joined the channel [21:01] Brandon_R: for desktop apps i would have gone with c# or java [21:01] Brandon_R: when you say business process management, what exactly does that entail? [21:01] Dmitrijus: Brandon_R: erlang is a nice language, but the libraries are scarce, better of to go with node.js :) [21:01] Brandon_R: true :) [21:01] Brandon_R: i love how fast it is to make something in node [21:01] _jgr has joined the channel [21:02] davidwalsh has joined the channel [21:03] _jgr has joined the channel [21:03] megalomix has joined the channel [21:03] megalomix: hello everybody [21:03] MatthewS has joined the channel [21:03] megalomix: is 0.6.6 the last stable? [21:03] megalomix: can i use it for production ? [21:04] _jgr has joined the channel [21:04] postwait has joined the channel [21:04] Brandon_R: yes [21:04] redir__ has joined the channel [21:04] Brandon_R: any even number node.js version is ok for production [21:05] petrjanda has joined the channel [21:06] swair has joined the channel [21:07] theo: Hi everyone! I am trying to find documentation on the latest version of bodyparser. You should only need to run req.files if you send files from a form. But I would like to know how many files it sends. For multiple files, it sends an array, otherwise an object. [21:08] joshkehn has joined the channel [21:08] joshkehn has left the channel [21:10] dinesh_ has joined the channel [21:12] dinesh_: Hi Guys, i want to know a good library for in-process db store. I have node-tiny and node-leveldb in mind currently.. [21:13] Dmitrijus: Brandon_R: btw, who are you, are you working on anything interesting ? :) [21:13] Brandon_R: not at this moment [21:14] Brandon_R: just trying to learn node [21:14] TheJH: tim_smart, "uuid" doesn't install here [21:14] Brandon_R: how old are you? [21:15] Dmitrijus: dinesh_: why do you need an in-process db? [21:15] ericmuyser has joined the channel [21:15] _baton_ has joined the channel [21:15] dinesh_: for storing app config, and temporary cache data... [21:16] Lingerance: any even number node.js [minor] version is ok for production [21:16] fzzzy has joined the channel [21:16] Dmitrijus: dinesh_: why not just read/dump json files? :) [21:16] dinesh_: @Dmitrijus it won't be much bigger data, but it should be persistent.. ( dump for disk ) [21:17] dinesh_: @Dmitrijus : i need some kind of referencing also.. [21:17] Lingerance: Ext.data.Store (there's two ports of it to node that I know of). Works as an in-process db, and can sync with a real on (optionally) [21:18] trave has joined the channel [21:19] dinesh_: @Lingerance: Ext.data.Store look a heavy dependency for smaller project. [21:19] wilmoore has joined the channel [21:20] robi42 has joined the channel [21:20] joshkehn has joined the channel [21:20] joshkehn has left the channel [21:20] Dmitrijus: dinesh_: well, if you need indexing and searching, personally, i would just use mongodb (but it requires some external setup, which is easy) :) [21:20] admc has joined the channel [21:20] Lingerance: There's also Ext.util.MixedCollection [21:20] eirikb: Does anyone know about a fast selector (css) module? I'm not able to get nquery to work so tested qwery, but I'm not sure how to use it (can't see anything in the readme on github) [21:21] cyborg has joined the channel [21:21] Lingerance: Other than that I don't see the point of using an db if it isn't backed by disk somewhere. [21:21] cyborg: how would you force the browser to start downloading a .mp3 in your public dir (express) rather than start streaming it (using ) [21:21] Dmitrijus: Lingerance: well, cache [21:21] Lingerance: Change the Content-Type header. [21:22] cyborg: Lingerance : word thx [21:22] npa has joined the channel [21:22] dinesh_: @Dmitrijus : hm, right.. [21:22] codygray has joined the channel [21:23] blueadept has joined the channel [21:23] romanb__ has joined the channel [21:24] Dmitrijus: dinesh_: but anyway, it is hard for me to find a solution if i don't know the problem :) [21:24] martin_sunset has joined the channel [21:24] trave: anyone in here familiar with jade templates, or know of a channel for it? [21:24] redir has joined the channel [21:25] fangel has joined the channel [21:26] dinesh_: @Dmitrijus : actually i currently have mongo for this purpose, and wanted to move to some lightweight storage. ( Seprating this module from the main project ). [21:27] Brandon_R: back [21:27] Brandon_R: so how old did you say you were dmitrijus? [21:28] a: hey [21:29] Dmitrijus: i am 24 :) [21:29] hey: cool [21:29] brandon_r: are you married? [21:29] Dmitrijus: no [21:29] Dmitrijus: ACTION forever alone [21:29] brandon_r: do you want to? [21:29] Dmitrijus: yes :) [21:29] brandon_r: lol same here [21:29] Dmitrijus: although [21:29] Dmitrijus: ACTION forever alone [21:29] brandon_r: do u gave a gf? [21:30] brandon_r: we programmers are a lonely bunch :( [21:30] Dmitrijus: i had one [21:30] Dmitrijus: but i left her [21:30] brandon_r: you did? woah why? [21:30] brandon_r: did she cheat on you? [21:30] Dmitrijus: nope [21:30] Dmitrijus: but that is complicated and i don't want to talk about it :) [21:31] brandon_r: understand :) [21:31] cyborg has left the channel [21:31] brandon_r: are you a virgin? [21:31] Dmitrijus: no [21:31] brandon_r: i am [21:32] brandon_r: do you have a g+ [21:32] jhurliman has joined the channel [21:32] Dmitrijus: brandon_r: i never post or follow anyone there :) [21:33] brandon_r: that's ok [21:33] brandon_r: i just want to see what you look like and where you live [21:33] enmand has joined the channel [21:33] brandon_r: do you have a fb/twit/git/linkedin? [21:34] DTrejo: .... [21:34] eldios: guys... not to be rude.. never heard of private messaging? [21:34] eldios: :) [21:34] devongovett has joined the channel [21:34] Dmitrijus: oh common [21:34] DTrejo: use /msg brandon_r [21:34] brandon_r: k [21:34] Dmitrijus: :D [21:35] DTrejo: also, these logs are all public [21:35] doctorm: Thought I had stumbled into Yahoo Chat circa 2001 for a minute there. [21:35] DTrejo: so now your conversation is forever immortalized online [21:35] eldios: lol [21:35] DTrejo: and people will see it in google searches [21:35] Dmitrijus: DTrejo: yes, exactly! :) [21:36] DTrejo: doctorm++ [21:36] DTrejo: hmm, didn't give you a beer, dangit [21:36] 15SAANT0P has joined the channel [21:36] DTrejo: DTrejo++ [21:36] jergason has joined the channel [21:36] doctorm: No, but I did feel a bit incremented [21:36] DTrejo: nice [21:38] 15SAANT0P has left the channel [21:40] romanb__ has joined the channel [21:41] chjj has joined the channel [21:42] malkomalko has joined the channel [21:44] ryanrolds: What is the prefered redis module? [21:44] brandon_r: idk [21:44] sechrist has joined the channel [21:46] doctorm: ryanrolds: I'm sure if you review https://github.com/joyent/node/wiki/modules#wiki-db-nosql-redis you can find something that suits your project. [21:47] ryanrolds: I know where to look for the modules that may meet my needs, but typically one module is prefered over other. That is what I'm looking for. [21:48] skm has joined the channel [21:50] doctorm: In this case, redis is fairly simple, so it really depends on what you want from the library. Do you want a high-level or low-level redis library? [21:52] sh1mmer has joined the channel [21:52] ryanrolds: Something high-level, but factoring in last update, forks and viewers it looks like https://github.com/mranney/node_redis/ is the obvious choice. [21:52] mmalecki: chjj: hey, is this gfm integration done yet? [21:54] doctorm: ryanrolds: redback is higher level, and built on node_redis [21:54] hotch has joined the channel [21:54] wiwillia has joined the channel [21:55] ryanrolds: doctorm: Good point. Hum [21:56] pluc has left the channel [21:57] yozgrahame has joined the channel [21:57] svnlto: im trying to return the request data from the request function here, but im clearly to dumb http://pastie.textmate.org/private/q5nphyfignjjd1owhik1xq [21:58] svnlto: request/response [22:02] jocafa has joined the channel [22:03] diogogmt has joined the channel [22:04] ryanrolds: svnlto: You want the body correct? [22:05] svnlto: ryanrolds: yup [22:06] davidwalsh has joined the channel [22:07] ryanrolds: svnlto: Try this: https://gist.github.com/1491554 [22:07] joshkehn has joined the channel [22:09] svnlto: ryanrolds: cheers dude [22:10] ryanrolds: svnlto: I just updated with better error handling. [22:10] svnlto: ryanrolds: cool, appreciate it [22:12] ryanrolds: svnlto: No problem [22:13] alnewkirk has joined the channel [22:13] darkenco has joined the channel [22:13] Kunda has joined the channel [22:14] jsj has joined the channel [22:16] iigrat has joined the channel [22:18] scottschecter has joined the channel [22:19] sh1mmer has joined the channel [22:19] maletor has joined the channel [22:21] charlenopires has joined the channel [22:24] ph^ has joined the channel [22:25] christoffe: Nodester's open source Node.JS PaaS adds its REST API to Apigee's API Explorer - http://news.ycombinator.com/item?id=3365259 [22:25] pizthewiz has joined the channel [22:27] tvw has joined the channel [22:27] socketio\test\66 has joined the channel [22:28] kmiyashiro has joined the channel [22:29] socketio\test\17 has joined the channel [22:29] pickels has joined the channel [22:30] kriszyp4 has joined the channel [22:31] eldios: hey christoffe .. nice! [22:31] eldios: wish you first page :P [22:31] kmiyashiro: can someone please explain this http://jsperf.com/toggleclass/2 [22:31] eldios: I'll upvote it [22:32] kristsk has joined the channel [22:32] Keren147 has joined the channel [22:32] Keren147: Hi [22:32] Keren147: are you here? [22:33] mmalecki: no, sorry [22:33] christoffe: eldios: i just submitted it - vote it up ;) [22:33] flat has joined the channel [22:33] christoffe: ty [22:33] eldios: did that \o/ [22:34] blueadept has joined the channel [22:34] christoffe: \m/ [22:35] flat: Hi all. Does anyone else here use the pg module? I've just started testing it, and it hangs for about 15 seconds after running its queries. Any idea what I can do about it? I'm just using the test query from the readme on the git page. [22:35] igl has joined the channel [22:37] flat: If I put a pg.end() in the callback (which might be a bad idea anyway), it still takes quite a few seconds. [22:38] jakehow has joined the channel [22:39] delian66 has joined the channel [22:40] chjj: mmalecki: i could have it up tonight, it is done. it's just part of a bigger problem of me wanted to make marked extensible [22:40] chjj: mmalecki: maybe it doesnt matter though, maybe i should just include it [22:42] mmalecki: chjj: make it optional: marked('text', { gfm: true }) [22:42] devaholic has joined the channel [22:43] mmalecki: hm, I see, that's a complex problem [22:44] eirikb has left the channel [22:46] nodebiscut has joined the channel [22:46] __tosh has joined the channel [22:47] delian66 has joined the channel [22:48] Cromulent has joined the channel [22:48] acuster has joined the channel [22:51] chjj: mmalecki: ill try to get something working, another problem is what to do if someone wants to add a syntax highlighter [22:51] chjj: mmalecki: it seems like it would be simple, but its kind of akward [22:52] mmalecki: chjj: agreed. more like a design question. [22:54] salva has joined the channel [22:54] EvRide1 has joined the channel [22:55] ryanrolds: flat: Do you have an example of how you're using it? [22:57] chjj: mmalecki: another question is whether to use gfm line breaks, which i think are kind of stupid [22:57] chjj: mmalecki: makes me wonder whether i should allow options for specific features [22:57] chjj: mmalecki: all of this stuff has made me hesitant [22:58] mmalecki: chjj: I know this feeling. I'd say, make it optional [23:02] joaojeronimo has joined the channel [23:02] flat: ryanrolds: Exactly like the readme in git. I think the issue is that it's using generic-pool to keep the connection alive until the timeout. Sensible, I guess. I just wish it was documented and adjustable. [23:03] joaojeronimo: Supposing I support http 1.1 on the client too, if I make a GET request and don't end it on the server, for how long will the request be alive ? Forever (as long as both client and server are alive) ? [23:03] scottschecter has joined the channel [23:05] nerdfiles has joined the channel [23:12] Skomski has joined the channel [23:12] sh1mmer_ has joined the channel [23:12] scottschecter has joined the channel [23:14] k1ttty has joined the channel [23:19] wilmoore has joined the channel [23:20] nerdfiles has left the channel [23:23] salva has left the channel [23:23] gigawatt has joined the channel [23:24] MatthewS has joined the channel [23:24] jbpros has joined the channel [23:25] rwaldron has joined the channel [23:26] lzskiss has left the channel [23:28] slajax has joined the channel [23:34] WarheadsSE has joined the channel [23:34] scottschecter has joined the channel [23:35] jgallen23 has joined the channel [23:38] astrobunny has joined the channel [23:38] liar has joined the channel [23:38] scottschecter has joined the channel [23:43] delian66 has joined the channel [23:43] snikkt has joined the channel [23:44] flip_digits has joined the channel [23:45] zzak has joined the channel [23:46] kkaefer: /j #postgis [23:46] kkaefer: mmh [23:47] bnoordhuis has joined the channel [23:47] Wizek has joined the channel [23:49] CoffeeIV has joined the channel [23:49] davidwalsh has joined the channel [23:50] Industrial: Anyone have an example of an asynchronouse finite state machine that is not a huge library? [23:51] Industrial: Bare bones would be preferred. I Want to understand it :P [23:51] Industrial: I have found http://www.ignitejs.com/getting_started/introduction.html but it seems too big [23:51] jocafa has joined the channel [23:52] Industrial: I'm messing around on https://gist.github.com/c1cbd4ff11e428061ef7/95c7b6e03f4be773564b6e787d2d0da8341d99cd [23:52] polotek has joined the channel [23:55] astrobunny has joined the channel [23:56] ajpiano has joined the channel [23:56] mara has left the channel [23:58] Leemp has joined the channel