[00:00] dominictarr has joined the channel [00:01] prettyrobots has joined the channel [00:01] rwaldron_ has joined the channel [00:02] davidc_ has joined the channel [00:02] davidc_ has joined the channel [00:02] piscisaureus: tty.getWindowSize(1)[0] [00:02] Nuck has joined the channel [00:03] piscisaureus: erm [1] [00:03] Nuck: Anybody know what the equivalent of process.binding('stdio').getColumns() (from 0.3.1) is in later versions? [00:04] Nuck: The docs say require('tty').getColumns() [00:04] Nuck: But that doesn't seem to like me. [00:04] piscisaureus: tty.getWindowSize(1)[1] [00:04] Aliv3: can someone give me a sample app [00:05] Nuck: The docs obviously need updating then XD [00:06] piscisaureus: open issue at https://github.com/ry/node/issues [00:06] prettyrobots has joined the channel [00:15] pdelgallego has joined the channel [00:18] Nuck: Any word on when it's gonna work on Cygwin again? [00:18] piscisaureus: if ever, 0.4.0 [00:18] Nuck: I'd like to be able to test with newer versions, but it's hard to use PuTTY [00:18] Jaye has joined the channel [00:19] mscdex: i use putty all the time [00:19] jonaslund: i think we should try to get cygwin up again [00:19] piscisaureus: ryah sais he will port v8 to cygwin again for 0.4.0 [00:19] jonaslund: yeah i noticed the comment [00:19] piscisaureus: though I think he will cripple v8 speed [00:19] jonaslund: how would he cripple it ? [00:19] mscdex: what's the status of the native windows port? [00:20] Nuck: One would think that v8 would work on Windows just fine. [00:21] amerine has joined the channel [00:21] piscisaureus: jonaslund: porting the sampler thread stuff is hard, so it will just be killed [00:21] piscisaureus: that will disable crankshaft [00:21] piscisaureus: mscdex: unfinished, heh [00:21] piscisaureus: lots of problems [00:22] piscisaureus: this week not so much progress, next week maybe [00:22] piscisaureus: next stop is try and make npm work [00:23] jonaslund: hmm [00:23] jonaslund: is there any big reasons not to adopt scons as a built system ? [00:23] piscisaureus: *shrug* [00:24] piscisaureus: it is not the build system that breaks cygwin [00:24] Nuck: Now, seeing as v8 is used in Google Chrome, why wouldn't it work on Windows? [00:24] jonaslund: this mingw-msvc mismatch isn't going to go away until we either reconcile the way the build systems work or use the same one for everything [00:24] jxh has joined the channel [00:25] jonaslund: Nuck: none other than how things are written now. there would need to be some reworking of various things [00:25] Nuck: Ah [00:25] piscisaureus: jonaslund: why do you think that that helps [00:25] jeromegn has joined the channel [00:25] jonaslund: Nuck: Like right now.. if you have msvc installed and try to build with mingw your build will fail unless you hack the V8 scripts to force the usage of mingw. ideally we'd want either to work as a compiler [00:26] Nuck: I think the simplest solution right now would be a precompilation step. I've seen that a lot on cross-plaform projects. Though, I'm just a JS coder, I dont even know C. [00:26] strmpnk has joined the channel [00:26] Nuck: Meh, Im happy with cygwin builds [00:26] ziro` has joined the channel [00:26] Nuck: I could care less about MinGW or MSVC [00:26] jonaslund: piscisaureus: well i don't know python that well but it'd be some dirty hacking to make waf being able to override how the scons script builds V8. or the other way around we'd use the scons settings in waf.. then why use waf ? [00:26] Nuck: Especially since I hate MSVC with a passion. [00:27] jonaslund: why do you hate msvc ? [00:27] Nuck: I dislike IDEs [00:27] jonaslund: MSVC is a compiler [00:27] jonaslund: MSVS is the dev environment [00:27] Nuck: Well, yes, but MSVC likes to bundle it in the Visual Studio. [00:27] piscisaureus: Personally I dislike computers. Hell, I dislike numbers [00:27] Nuck: Err, yeah [00:28] Nuck: I'd rather just use a simple 'make' command than a GUI compiler. [00:28] jonaslund: the GUI compiler is just fluff [00:28] jonaslund: the debugging part is the big thing imho [00:29] piscisaureus: jonaslund: it is not so hard to override how waf calls scons. But whatever you put in there... [00:29] piscisaureus: mraleph says it is not the v8 build script but scons itself that is wrong [00:29] jonaslund: depends on how you view it [00:29] piscisaureus: so moving over to scons would be pretty much the dumbest move we could take [00:29] piscisaureus: :-) [00:30] piscisaureus: apart from the fact that waf in itself is ... [00:30] piscisaureus: erm [00:30] jonaslund: I think it's lovely that scons can actually auto-detect MSVC [00:30] piscisaureus: *censored* [00:30] piscisaureus: jonaslund: waf can do that as well :-) [00:30] jonaslund: i think it's crap that it automatically selects it without being able to have preferences [00:30] piscisaureus: that's the problem yeah [00:30] jonaslund: piscisaureus: yeah but if you have different auto-detection routines you'll get problems eventually [00:31] piscisaureus: jonaslund: you have msvc? [00:31] jonaslund: 2 versions even [00:31] piscisaureus: jonaslund: revert this [ https://github.com/ry/node/commit/1d0193a7334379c0b7fbe750e950b4fe34e86bcc ] and try to build with msvc :-) [00:31] jonaslund: MSVC.net 2003 std and MSVS.net 2005 pro [00:32] piscisaureus: maybe you can get it to work ... would be cool [00:32] jonaslund: hmm [00:32] jonaslund: could be somethng [00:32] boaz has joined the channel [00:32] shiawuen has joined the channel [00:32] dominictarr has joined the channel [00:33] piscisaureus: although me afraid that there are many ifdef __MINGW32__ s in the code [00:33] jonaslund: Nuck: actually , i would've been INSANE today if i hadn't have had MSVC [00:33] jonaslund: doesn't the waf-script set a bunch of compiler opts aswell ? [00:33] piscisaureus: that should be #ifdef _WIN32 or something but the problem is that cygwin defines these as well :-( [00:33] piscisaureus: that could be true [00:33] Nuck: Drop cygwin in favor of MinGW [00:34] Nuck: I mean, honestly, why would you use it in Cygwin if you can run it as windows-native? [00:34] jonaslund: well [00:34] jonaslund: i have a feeling that many modules actually expects *nix semantics [00:34] Nuck: True [00:34] photofroggy has left the channel [00:34] piscisaureus: yeah. it's a pain to port them [00:34] Nuck: But I can't compile jack shit on Cygwin either lol [00:34] photofroggy has joined the channel [00:35] photofroggy: Then write wrappers for those. [00:35] piscisaureus: photofroggy: pls write a wrapper for fork() then come back here [00:35] jonaslund: photofroggy: node core is one thing, modules at large could be something entirely different. especially as some people have anti-windows sentiments [00:35] photofroggy: touche, piscisaureus [00:36] photofroggy: although, you could do other things [00:36] Nuck: I got the precompiled cygwin binaries with NPM, and I haven't gotten it to install anything yet lol [00:36] photofroggy: shouldn't JS provide abstractions for those sorts of things? [00:36] jonaslund: Nuck: what happens ? [00:36] piscisaureus: photofroggy: sure. node doesn't depend on fork no more, [00:36] jonaslund: does NPM pull stuff from github ? [00:36] Nuck: photofroggy: lol [00:37] Nuck: jonaslund: Well, it gets the stuff fine, but dies in compilation [00:37] Nuck: I know Cygwin isn't perfect. lol [00:37] ericnakagawa has joined the channel [00:37] piscisaureus: photofroggy: symlink() setuid() popen() select() ? [00:37] jonaslund: perfect >:) [00:37] piscisaureus: that's why it takes time ... [00:38] photofroggy: I'd be much more interested in Node if there was proper Windows support. [00:38] Nuck: I'd like to see the path module get synchronous functions, too. [00:38] jonaslund: hmmm [00:38] Nuck: Especially the exists() one [00:38] photofroggy: scripting environments should ideally be easy to install on most OS' [00:38] Nuck: I had to create my own one for that [00:38] Nuck: photofroggy: I agree. [00:40] Nuck: NodeJS seems like it could easily compete with Ruby. Both are aimed towards web services, and I personally think they're both pretty good languages. The thing is, Node is being held back by the fact that it's a pain in the ass to set up. [00:41] photofroggy: Would be interesting to see a GUI toolkit for Node. :P [00:41] pauls: Nuck: not if you're on a mac... I used brew to install it [00:41] Nuck: pauls: Good for mac users. What about the other 90% of us? [00:42] pauls: Nuck: get a mac! :D [00:42] jonaslund: hmmm [00:42] Nuck: pauls: Only if you're paying. [00:42] Ari-Ugwu has joined the channel [00:42] jonaslund: hmmmm [00:43] Ratty_: Mac is the best development environment. All the power of unix, without the annoyances. [00:43] photofroggy: That is the most retarded solution to a problem, pauls. [00:43] brapse has joined the channel [00:43] photofroggy: Ratty_: I've had no annoyances with Ubuntu, aside from Flash not working very well. [00:43] photofroggy: tbh I find OS X to be horrible. [00:44] Ratty_: Does 'npm' run on windows at all? [00:44] Nuck: Ratty_: It is a nice OS. I mean, UNIX is unintuitive normally, but man, Mac OS doesn't act like a UNIX, it acts like an orgasmic cookie. [00:44] isaacs: Ratty_: it works on Cygwin on node 0.3.6 [00:44] jonaslund: ACTION ponders.. compile nodeJS on his VM.. then use plink to pipe stdio [00:44] isaacs: (iirc) [00:44] jonaslund: would be more or less running it natively on windows [00:44] jimt_ has joined the channel [00:44] Nuck: photofroggy: Well, that's not Ubuntu, that's just Flash. It does that to all of us. [00:45] jonaslund: already using vboxsf to link the filesystems [00:45] photofroggy: Nuck: When you talk about OS X, half the stuff you say does not make sense. [00:45] photofroggy: And how is Unix unintuitive? [00:45] photofroggy: :S [00:45] Nuck: photofroggy: lol I know, but it's hard to describe hwo beautiful I think it is :3 [00:45] photofroggy: mmk [00:46] JohnnyL: ACTION throws a manpage at photofroggy. here go waste your 'free' time with that! [00:46] jonaslund: "unix" doesn't exist really [00:46] Nuck: photofroggy: And UNIX is unintuitive in that the UI is a horrible clusterfuck of ideas from both Mac and Windows, and, in the case of Ubuntu, shoved in an ugly brown package. [00:46] photofroggy: How are manpages any different to reading documentation on other things? [00:46] Nuck: Well, Linux, that is. [00:46] jonaslund: Nuck: What UI? [00:46] photofroggy: jonaslund: I usually mean unix-like OS when I say Unix. [00:47] Lorentz: This is what gnome and kde users experience. [00:47] jonaslund: nuck: gnome, KDE,etc.. [00:47] Lorentz: Use enlightenment, get none of the above problems. [00:47] photofroggy: Nuck: I'll admit the default UI isn't exactly great on Ubuntu [00:47] jonaslund: I'm actually interested in trying a modern ubuntu someday [00:47] Nuck: photofroggy: And why not Man pages? Simple: HTML. We can use hyperlinks and Ctrl+F, and an interface we use daily, the web browser. Man pages have PageDn, and PageUp. [00:48] jonaslund: i've really not tried using linux for ages now [00:48] Nuck: jonaslund: It's as ugly as ever. [00:48] Nuck: Brown and black. [00:48] Nuck: Just like a turd. [00:48] photofroggy: Nuck: Web browser = unneeded overhead! [00:48] jonaslund: the question is if you can use it [00:48] photofroggy: Why should I have to open a web browser to find out about something? [00:48] Lorentz: Eh, depends on how you view the man pages, but I still also get searches, and can click on things if I want to [00:48] jonaslund: manpages and html sucks for documentation [00:49] photofroggy: There's a GUI for man pages if I remember correctly. [00:49] Nuck: photofroggy: I disagree. the Web browser is a wonderful thing. Because it allows nice, well-formatted documentation, where we can go back to the part we want instantly. [00:49] photofroggy: I just tend to use the terminal anyways. [00:49] Nuck: I like HTML documentation. [00:49] photofroggy: Nuck: ... [00:49] photofroggy: Nuck: So what if it looks pretty? [00:49] Nuck: Though I dislike the v0.3.8 docs, I tend to reference v0.2.6's docs, since the doc browser works well. [00:49] photofroggy: That is not the point of documentation [00:49] Nuck: photofroggy: Uhh, navicability is. [00:49] Nuck: And the browser is good for that. [00:49] Nuck: It's an interface we're all used to. [00:50] photofroggy: There's a GUI for manpages! [00:50] photofroggy: lol [00:50] Nuck: It's the difference between using Lynx, the old text browser, and using Google Chrome, the modern-day browser with a godly JS engine. [00:50] Nuck: It's more readable. [00:50] piscisaureus: isaacs: ping [00:50] isaacs: piscisaureus: yo [00:50] photofroggy: I like HTML docs but the stuff that is documented in man pages makes sense to be documented in man pages. [00:50] Nuck: I hate reading long things in the console. [00:51] piscisaureus: isaacs: ha. not watching superbowl hehe [00:51] photofroggy: You just hate reading, then. [00:51] isaacs: piscisaureus: no, i'm not watching the sportsball [00:51] photofroggy: That and you probably don't know about --help [00:51] Nuck: photofroggy: I really like HTML docs, where I have the index at left, and I can expand and see the class-tree, etc. [00:51] piscisaureus: isaacs: is there any way you could get npm to not use tar / gzip cli tools? [00:51] photofroggy: most commands understand --help [00:51] photofroggy: most subcommands understand --help [00:51] Nuck: photofroggy: I do. And I hate --help's output. It's hideous. [00:51] photofroggy: you can narrow things down so easily. [00:51] piscisaureus: like a slow node-native gunzip / untar? [00:51] photofroggy: How is it hideous? [00:51] photofroggy: It's text! [00:51] isaacs: piscisaureus: not without writing a tar parser [00:52] piscisaureus: hmm [00:52] isaacs: piscisaureus: we're already linking to libz for openssl, it should be possible to get a streaming gzip thing in node-core, i think [00:52] isaacs: but tar is another story [00:52] isaacs: i have half of one. [00:52] piscisaureus: isaacs: tar is not difficult. I could write tar in node [00:52] Nuck: photofroggy: It's unorganized, fixed-width, and the format is enver the same twice. [00:52] isaacs: it's not an insane format. i just never got around to building it. [00:52] isaacs: finishing it [00:52] isaacs: it's only a little obnoxious [00:52] photofroggy: enver? [00:52] photofroggy: oh [00:53] Ryan_S has joined the channel [00:53] piscisaureus: isaacs: thing is tar and gzip are not on windows by default [00:53] Anti-X: we like obnoxious [00:53] Nuck: photofroggy: Simple put, command line is a horrible thing in my opinion. I'd rather be using a sexy GUI. [00:53] isaacs: piscisaureus: yeah, i know [00:53] photofroggy: Nuck: Nothing wrong with a fixed width font. [00:53] jonaslund: hmmm [00:53] photofroggy: wow [00:53] piscisaureus: isaacs: worse: if you can get a tar for windows, it doesn't extract symlinks, but fails [00:53] Nuck: photofroggy: Readability, for one. [00:53] isaacs: piscisaureus: right [00:53] piscisaureus: so `install npm` -> nonono [00:53] isaacs: piscisaureus: well, npm won't use symlinks in node 0.5.x [00:53] photofroggy: Nuck: Fixed width fonts make things easier to read! [00:53] Nuck: It's unnatural, and can get hard to read for long blocks. [00:53] isaacs: piscisaureus: for now, npm only works on cygwin anyhow [00:53] photofroggy: Nuck: If the terminal used something non-fixed width it's be an eyesore! [00:53] isaacs: because of all the symbolic link reliance [00:54] piscisaureus: isaacs: it's so sad, because I have a working windows-native symlink implementation here [00:54] Nuck: photofroggy: Are you saying that the way we've been writing for millenia is wrong? That we should've been writing in a grid layout? [00:54] isaacs: piscisaureus: really? [00:54] piscisaureus: yah [00:54] jonaslund: ntfs has symlinks [00:54] photofroggy: Nuck: No? Where did you get that from? [00:54] isaacs: piscisaureus: but are they really actual symlinks? [00:54] piscisaureus: yes. [00:54] isaacs: neat. [00:54] isaacs: works on xp? [00:54] photofroggy: Nuck: If the TERMINAL didn't use fixed-width fonts, it would be harder to read. [00:54] isaacs: or just vista+ [00:55] Nuck: photofroggy: Well, yeah, the terminal. [00:55] piscisaureus: isaacs: directory symlinks work on xp [00:55] jonaslund: isaacs: it's never got into favour really since many used fat on XP [00:55] Nuck: photofroggy: But that's why I dislike the terminal [00:55] isaacs: piscisaureus: i see. [00:55] zentoooo has joined the channel [00:55] Nuck: Hence the greatness of, ya know, a GUI. [00:55] photofroggy: Nuck: Why? Because there's nothing wrong with it? [00:55] isaacs: piscisaureus: well, anyways, i think the new setup is better, and there's no need for symbolic links at all anywhere. [00:55] jonaslund: can you even install vista/win7 on FAT anymore? [00:55] piscisaureus: isaacs: that makes me happy anyhow [00:55] Nuck: photofroggy: I dislike fixed-width fonts. And, because of this, I hate console. [00:55] Nuck: You've got the cause-and-effect bakcwards [00:55] photofroggy: Nuck: Irrational. [00:55] piscisaureus: this all splattering packages around the fs is really not so common on windows [00:56] jonaslund: piscisaureus: I'll take a stab at trying the msvc preference tomorrow [00:56] jashkenas has joined the channel [00:56] piscisaureus: it will annoy a lot of ppl [00:56] isaacs: piscisaureus: i'm somewhat facing a choice between: a) spend some time making it work asap, only to have to eventually tear it all down, or b) tear it all down, and just accept that it won't work for a month or two on windows. [00:56] piscisaureus: jonaslund: hurray [00:56] isaacs: i'm feeling like B is a better option [00:56] isaacs: since i'll have to do that anyway [00:56] piscisaureus: me too [00:56] Announcement has joined the channel [00:56] jonaslund: piscisaureus: still that wouldn't get us much help if we'd want to auto-build packages or build different versions for debugging [00:56] piscisaureus: jonaslund: I wouldn't mind, I'd just drop mingw support [00:57] Announcement: can i have a sample app [00:57] piscisaureus: will do that eventually [00:57] Nuck: photofroggy: Not really. It's a well-known, universally-accepted fact that variable-width fonts are more legible than fixed-width fonts, because fixed-width fonts are spaced out differently from how normal writing is. [00:57] Announcement: i think somethings going wrong [00:57] isaacs: so i'm just finishing up the last bit of the "make it work properly with sudo/nobody/permissions/etc", and i plan to polish out a few little bugs, and then it's on to the next major rev [00:57] jonaslund: isaacs: go with B, right now it's a bit of a mess to run node on windows anyhow [00:57] isaacs: jonaslund: on cygwin, it works fine (which is basically like saying "in a unix virtual machine on windows..." [00:57] piscisaureus: I will still try to make npm work because it is such a good test case [00:57] isaacs: VirtualBox or vmware are also options [00:57] piscisaureus: uses a lot of node features [00:57] piscisaureus: it that works almost anything works [00:58] isaacs: piscisaureus: it does use a crapload of node's features. [00:58] photofroggy: Nuck: So? [00:58] jonaslund: isaacs: njah.. you get the stdios natively and you can run node binaries outside of the shell [00:58] photofroggy: Nuck: The terminal is still appropriate for what it is used for these days. [00:58] isaacs: piscisaureus: that's how i ended up contributing so much to node. wrote the thing that found a ton of bugs :) [00:58] jonaslund: isaacs: i start node from within eclipse [00:58] piscisaureus: isaacs: hehe. good work [00:58] jonaslund: first the cygwin built and now the mingw build [00:59] isaacs: jonaslund: neat. i don't actually know what that's like. [00:59] Nuck: photofroggy: I agree. But text editing and other things which don't fit into the command-response paradigm, ought to be taken out of the terminal. We no longer need curses. We have GUIs. [00:59] isaacs: when i discovered cygwin, i'd already converted to darwin. [00:59] piscisaureus: isaacs: new npm should also support new terminal colors api [00:59] piscisaureus: (that is yet to be created) [00:59] isaacs: piscisaureus: ok. right now i write out the \033[... myself [00:59] isaacs: piscisaureus: but yeah, windows colors would be rad. [00:59] Nuck: piscisaureus: New terminal colors API :3 [00:59] Nuck: what? [00:59] jonaslund: ACTION has written a module for eclipse where he selects text and presses ctrl-0 to get it evaluated in node [00:59] Nuck: I wrote my own lib for that, please elaborate. [01:00] photofroggy: Nuck: GUIs are difficult to program and often add a stupid amount of overhead for the application in question. [01:00] piscisaureus: isaacs: windows won't grok these color codes, just prints them. looks very crappy, bad billboard [01:00] jonaslund: so basically i can patch things on the fly when i develop :) [01:00] isaacs: piscisaureus: i know [01:00] isaacs: piscisaureus: cygwin colors, though, right? [01:00] Nuck: photofroggy: I agree they're hard to program, but the overhead doesn't matter any more. Most, if not all, of us, have computers with enough power to handle 10 instances of Firefox at the same time. [01:00] Nuck: And that app is a beast. [01:00] isaacs: piscisaureus: isn't cygwin a xterm-256color? [01:00] piscisaureus: *shrug* [01:01] piscisaureus: it does support colors though [01:01] isaacs: <3 cygwin [01:01] jonaslund: uhhh [01:01] Lorentz: rxvt represent [01:01] photofroggy: Nuck: Just because the hardware allows it does not make it excusable, your arguments are laughable. [01:01] Lorentz: Nobody else cares :( [01:01] jonaslund: my FF uses 546 megs of memory right now [01:01] isaacs: it's like our little slow retarded soldier, bringing unix to all the windows worlds. [01:01] jonaslund: and i run noscript [01:01] jonaslund: (on the other hand i have like 200 tabs open at the same time) [01:01] jonaslund: i used to hate cygwin intensly [01:02] Nuck: photofroggy: It's more natural, and makes use of the mouse, something which most people prefer. As such, yoru arguments of overhead are entirely ridiculous, as they are unimportant. [01:02] jonaslund: because you had all those incompatible versions of the cygwin dll [01:02] isaacs: ok, i gotta run. but yeah, gzip in node-core, and finish up the tar parser/writer thing, and that'd remove the dependence on foreign utils. [01:02] isaacs: piscisaureus: ^ [01:02] jonaslund: and every once in a while some program you installed put one dll in the global path and half the programs stopped working [01:02] piscisaureus: isaacs: good!!! [01:02] isaacs: which is a must-have for windows support. [01:02] Nuck: Overhead of 100MB doesn't even matter at all any more. [01:02] photofroggy: Nuck: Most people wouldn't be doing stuff that you usually do in the terminal! [01:02] piscisaureus: isaacs: I love adding to someone else's todo list :-) [01:02] isaacs: i *do* want to keep using the gzip/tar format, though. it's nice and universal [01:03] zzak: isaacs++ [01:03] v8bot: zzak has given a beer to isaacs. isaacs now has 10 beers. [01:03] photofroggy: Nuck: And how is overhead unimportant? [01:03] jonaslund: isaacs: if you don't have symlinks.. what's really the diff to zip? :) [01:03] Nuck: photofroggy: 100MB out of 4GB is tiny. I could care less. [01:03] Nuck: Oh, I almost forget, I've been wondering, is there any way to get STDIN before the user hits enter? [01:03] isaacs: jonaslund: it's a different format. zip is a bit more complicated. [01:03] piscisaureus: isaacs: why not bz2. hahahahaha [01:03] Ratty_: "couldn't care less" [01:03] jonaslund: isaacs: not much [01:03] isaacs: piscisaureus: hahahah [01:03] isaacs: a [01:04] isaacs: jonaslund: a little. [01:04] isaacs: tar is about the simplest "fs to single-file" format you could come up with [01:04] jonaslund: isaacs: on the other hand i have written elf and dwarf2 code so it's a matter of perspective [01:04] Nuck: Cause I want to make a console where the user can type as new messages show up [01:04] isaacs: minus the star0 stuff [01:04] Lorentz: It was made for tape archives afterall. [01:04] isaacs: ok, gotta run. have fun, noders. [01:04] photofroggy: Nuck: If people only used one app at a time, you'd be right. [01:04] piscisaureus: have fun, isaacs. don't sneakily watch sports [01:05] jonaslund: ACTION actually has superbowl on in the background [01:05] Nuck: photofroggy: I use a good 10 apps at once, all with GUIs. No issue. [01:05] Nuck: And that's with Firefox too [01:05] Nuck: So really, it's not a big deal to me, if I got 100MB overhear more [01:06] photofroggy: It's still not a good argument.. [01:06] MikhX has joined the channel [01:06] photofroggy: I'll eat all of the food in the fridge because it is available. [01:06] Nuck: photofroggy: If my fridge is filled to the brim with food, I'll eat more than if it's 75% empty. [01:07] Nuck: So yes, it does make sense. [01:07] photofroggy: No it doesn't. [01:07] photofroggy: You'd eat what you need. [01:07] Nuck: What you need depends on what you've got. [01:07] Nuck: You NEVER eat just what you need. [01:07] Nuck: It's been studied many times. [01:08] Nuck: Humans naturally eat more than they actually need. [01:08] Lorentz: So what do you do when you only have 512MB of RAM or so, and your app takes a gig? [01:08] Nuck: Except when there's very little [01:08] photofroggy: Ok? Normal people aren't going to over-eat ridiculously. [01:08] photofroggy: That's how you get fat. [01:08] Nuck: Lorentz: That's ridiculous. [01:08] photofroggy: Using up resources that they shouldn't need is when a program becomes bloated. [01:09] Nuck: photofroggy: Well, I should say, if I've got a minifridge, I won't buy as much food as if I have a full-size fridge. [01:09] Lorentz: Nuck: It isn't ridiculous. Not everyone has the money to spend on lots of RAM, especially in hosting environments. [01:09] Nuck: Lorentz: I mean the 1GB for one app [01:09] Nuck: That's heavily exaggerated. [01:09] Lorentz: Nuck: Why not? That's what java pulls. [01:09] photofroggy: Nuck: Buying a minifridge in place of a full size fridge for a household is just irresponsible. [01:09] Lorentz: Nobody likes java. [01:09] Nuck: Lorentz: Java is shit. [01:09] Nuck: It is a memory hog. [01:09] kristsk has joined the channel [01:09] Lorentz: And I'm saying, you're falling in the same slippery slope [01:09] photofroggy: Exactly. [01:09] Announcement: i like jscript [01:09] Lorentz: When will it end? [01:09] photofroggy: Memory hog. [01:10] Nuck: NodeJS, on the other hand, is a speed demon. [01:10] photofroggy: What's that got to do with anything? [01:10] Nuck: What I'm saying is that Java did things wrong. [01:10] photofroggy: I was talking about using GUIs where it really isn't needed. [01:10] photofroggy: You seem to think GUIs should be tacked onto everything. [01:10] Nuck: They made their OWN UI. [01:10] Nuck: Fucking Swing. [01:10] jonaslund: SWING is actually pretty nice [01:10] photofroggy: Swing was, in principle, a good idea. [01:10] photofroggy: Write once run anywhere. [01:11] Announcement: whats swing [01:11] Nuck: It's horribly bloated though. [01:11] Nuck: Why not just abstract the OS's UI calls? [01:11] jonaslund: Announcement: standard java gui api [01:11] Announcement: ew [01:11] photofroggy: That's what they used to do [01:11] Lorentz: Nuck: Because then you don't get what java does; "run everywhere". [01:11] Nuck: Use the native OS's UI, instead of your own one (which is hideously ugly) [01:11] photofroggy: they created SWING because the abstractions were more resource intensive. [01:11] photofroggy: erm [01:11] Lorentz: And it does use native's UI, whatever it's offered. [01:11] Announcement: anyways [01:11] Nuck: photofroggy: You pass the calls on. Done. [01:11] photofroggy: you can make Swing apps look like native apps, Nu. [01:12] photofroggy: *nuck [01:12] jonaslund: Nuck: You can tell swing to use the windows look and feel and you won't notice much differences [01:12] Announcement: omgz the girl in bep is a w*o*e [01:12] Nuck: Lorentz: Not generally. They use their default shitty UI too often. [01:12] Nuck: jonaslundBut it's reinventing the wheel too [01:12] photofroggy: It's the choice of the person programming the application! [01:12] Announcement: wtf [01:12] jonaslund: Nuck: atleast the wheel works the same everywhere [01:12] photofroggy: Announcement: A what? [01:12] kawaz_work has joined the channel [01:12] Announcement: for noobs [01:12] Nuck: Why recreate the OS's look at feel, when you can CALL the OS's look and feel? [01:12] Announcement: a *ho*e [01:13] Nuck: jonaslund: Look at GTK. NAtive UI elements, for the most part. [01:13] jonaslund: *shudder* [01:13] Nuck: Like the buttons, from the OS. [01:13] photofroggy: GTK is not nice. [01:13] Announcement: rofl thats so fruity [01:13] Announcement: to bad u guys cant see this [01:13] Nuck: Well, I'll agree, it sucks. But it works. [01:13] jonaslund: GTK has spawned some of the ugliest and most unusable UI's ever [01:13] jimt has joined the channel [01:13] Nuck: jonaslund: Like GIMP *shudder* [01:13] Nuck: jonaslund: I like Inkscape's UI. [01:13] photofroggy: How can you place GTK above SWING? [01:13] Nuck: That thing is a beautiful UI. [01:14] zakabird has joined the channel [01:14] jonaslund: I think it's gotten better.. i remember disliking inkskape initially [01:14] Announcement: this is the fruitiest thing iv ever seen [01:14] Announcement: since when did black eyed pees have the guitar solo from sweet child of mine [01:14] jonaslund: I think the problem is that GTK initially mandated or implemented some ridiculously big spacing between elements [01:14] Nuck: photofroggy: Because Swing is laggy (comes with the territory of Java), and it's pretty hideous if it's not the native L&F [01:14] Lorentz: Nuck: I don't know about you, but it's pretty snappy here. [01:15] jonaslund: so every ui done in GTK for a while looking like a big mess of small buttons here and there [01:15] Nuck: jonaslund: Probably. Inkscape, I actually love more than Illustrator. [01:15] Lorentz: I do use eclipse afterall [01:15] Announcement: when i do anything socket related with node [01:15] Announcement: it gives me a bunch of '...'\'s [01:15] Lorentz: Oh, look what I did, "horrible UI? shove more RAM!" [01:15] Lorentz: Which I thought was your point. [01:15] photofroggy: Yeah [01:15] photofroggy: I don't get it [01:15] Nuck: Lorentz: That's retarded. [01:15] photofroggy: you were arguing for this stuff [01:15] Nuck: The best cross-platform UI I've ever seen is Firefox. [01:15] jonaslund: Nuck: I actually used inkscape a bit recently and it was ok. but i know they had some crap earlier [01:15] photofroggy: ... [01:15] Announcement: no [01:15] photofroggy: FireFox is such a memory whore! [01:16] Nuck: jonaslund: I'm sure they did, yeah [01:16] photofroggy: The UI is terrible. [01:16] Announcement: best cross platform ui iv ever seen is chrome [01:16] photofroggy: ^ [01:16] Nuck: photofroggy: Well, it's a memory whore because it's all in JS and XML (and the JS engine sucks ass in Firefox) [01:16] Announcement: i dont think you guys relize whats so special about ff do u [01:16] Ratty_: Cyberduck has a good UI, I didn't even know it was Java [01:16] Nuck: Announcement: Not really cross-platform. [01:16] Announcement: monkey fuck is shit [01:16] Announcement: v8 is the shit [01:16] Nuck: The L&F in Chrome isn't very native on Ubuntu [01:17] Lorentz: Looks fine here [01:17] jonaslund: firefox has noscript [01:17] jonaslund: i'm not trading in firefox until i get that elsewhere [01:17] Announcement: yea chrome is linux/windows/mac/wii/android [01:17] Nuck: Announcement: I'm interested to see Jaegermonkey. [01:17] Announcement: i think thats cross platform [01:17] Announcement: dude im running chrome on my ubuntu [01:17] Lorentz: I can even override the default "chrome" look to "gtk" look. [01:17] Nuck: Announcement: Sure, but it isn't very native looking. [01:17] perlmonkey2 has joined the channel [01:17] Announcement: ok then [01:17] Announcement: g4u [01:17] Lorentz: And I don't even know what you mean by native looking. [01:17] jonaslund: FF has alot of bugs sadly [01:18] Announcement: guys [01:18] jonaslund: and they've been increasing in number [01:18] Nuck: Lorentz: Fitting in with the main UI. [01:18] Announcement: ff is only special [01:18] jonaslund: if i disconnect the power cord from my laptop [01:18] Announcement: because its the decendent of the first browser [01:18] jonaslund: FF starts using up all CPU it can [01:18] Lorentz: Nuck: There is no real main UI in *nix. [01:18] jonaslund: like wtf? [01:18] Nuck: jonaslund: Yeah, I've notived. I love the UI though. It's beautiful, but it's still glitchy. [01:18] Nuck: Lorentz: On Ubuntu, I'm talking about using the DM's skin. [01:18] Nuck: Err, WM [01:18] brapse has joined the channel [01:19] Announcement: how many ppl are in black eyed peese [01:19] Announcement: wtf [01:19] jonaslund: Nuck: what ui? i only use 2 buttons and the address bar really :) [01:19] Lorentz: Not everyone uses ubuntu. And even on ubuntu, you have different flavours of ubuntu, like kubuntu and whatever. [01:19] jonaslund: oh and the tab bar [01:19] Announcement: every 30 seconds more ppl come out [01:19] Lorentz: Various tile-based UIs are around too. [01:19] Announcement: and its been going on for like 5-6 mins already [01:19] Nuck: jonaslund: I like the new theme on Firefox 4. At least on Windows 7. The one with the tabs on top, and the glass behind it. [01:19] photofroggy: I wonder where they got that idea from. [01:19] Announcement: ACTION cough [01:20] Announcement: chrome [01:20] Nuck: jonaslund: It looks so natural to me. I actually have a Firefox 4-esque theme for Firefox 3.7 [01:20] Nuck: Err 3.6 [01:20] jonaslund: ok, i've not tried 4 yet [01:20] Nuck: photofroggy: Better than where IE9 is going :V [01:20] unomi has joined the channel [01:20] unomi has joined the channel [01:20] Announcement: im dlling it now [01:20] Announcement: but it looks alot like chrome [01:20] Nuck: They've merged the address bar and tab bar onto ONE ROW [01:20] Announcement: ie9 looks like trash [01:20] Nuck: It's HIDEOUS. [01:20] Anti-X: i didn't like that they dropped websockets for ff4 [01:20] Nuck: And the dumbest thing I've ever seen. [01:20] Announcement: what for ie9 [01:20] Announcement: yea [01:21] Nuck: Anti-X: Wait, WHAT!? [01:21] Announcement: its retarded [01:21] Nuck: Those bastards! [01:21] Lorentz: Protocol level security issue. [01:21] Anti-X: yeah they realised it had security issues [01:21] Announcement: websockets are trash anyways [01:21] Lorentz: There's probably a draft out that fixes it, but nobody's implemented it yet? [01:21] Nuck: I just wish they'd let us use Sockets in Js already [01:21] Announcement: they need normal sockets [01:21] Anti-X: the second "version" is supposed to fix it, but it's not complete or something [01:21] Announcement: a raw socket would be nice [01:21] Nuck: Areed. [01:22] jonaslund: better drop an insecure feature [01:22] photofroggy: IE9 actually looks as though it could be competent when rendering pages. [01:22] Announcement: but tcp would be pretty nice too [01:22] jonaslund: it wasn't that used yet [01:22] Nuck: Announcement: We can already do that just by tying in with Java or Flash. [01:22] Nuck: So they might as well cut out the middle man [01:22] MattDiPasquale has joined the channel [01:22] Announcement: dude these bitches at bep are using soundtracks from a bunch of random stuff [01:22] Anti-X: wtf justin bieber on csi [01:22] Announcement: WTF [01:22] photofroggy: Do you realise the security implications in allowing sockets? [01:22] Announcement: that costume [01:22] Announcement: lmfao anti-x [01:22] Lorentz: Nuck: Ugh, tying it with java or flash is horrid. [01:22] Nuck: photofroggy: We already CAN use them. [01:22] Lorentz: Forcing people to have java or flash. [01:22] Announcement: idk how [01:22] Anti-X: Announcement, unfortunately he wasn't the victim [01:23] photofroggy: Nuck: Yes but they're limited to only allowing calls to the originating domain name [01:23] Announcement: danget [01:23] Announcement: honestly even though flash is so much better id use java first [01:23] Announcement: only because flash is propietary crap [01:23] Announcement: java is open [01:23] Nuck: photofroggy: We just tie the knot with Flash or java, and we can do it anyways. We might as well just copy their implementation into JS! [01:23] Announcement: but its even werse [01:23] Nuck: Announcement: I prefer Flash, since it's faster for me. [01:23] photofroggy: Nuck: And then open up a whole host of vulnerabilities? [01:23] Announcement: Flash is alot better i know [01:23] photofroggy: Nuck: Ok then. [01:23] Nuck: Java USED to be fast, but nowadays, it's bloated as fuck. [01:24] Announcement: but its propietary and i dont like that [01:24] Nuck: Announcement: Gnash? lol [01:24] Announcement: whats gnash [01:24] jonaslund: piscisaureus: there ? [01:24] Nuck: Announcement: An open-source clone of Flash. Not perfect, but it works relatively well. [01:24] photofroggy: gnu flash? [01:24] jonaslund: uh [01:24] Nuck: I hate ActionScript on a personal level though. [01:25] Announcement: me too [01:25] Nuck: It's caused me so much pain. [01:25] jonaslund: Java is as "fast" as ever [01:25] jonaslund: fast for lowlevel stuff as long as you work in that way [01:25] Announcement: java is a cpu/ram hog [01:25] Nuck: I'm fluent with JavaScript, but ActionScript? Shiiiiit, that's a PITA [01:25] Announcement: memory/hdd [01:25] jonaslund: fairly ok GC [01:25] Nuck: Announcement: Yeah [01:25] Announcement: ik used to be fluent with action script [01:25] Anti-X: java is fast as long as you know how to program in java [01:25] Nuck: Java applets take forever to load. [01:25] Announcement: now i look at it like, what the **** is this trash [01:25] Nuck: But Flash? It's loaded shortly after the page! [01:26] jonaslund: the java memory usage is because they've traded memory usage for gc speed [01:26] jonaslund: GC's are hard to do [01:26] Announcement: gc speed? [01:26] Announcement: gc? [01:26] lukegalea has joined the channel [01:26] photofroggy: garbage collector [01:26] Announcement: oh [01:26] Lorentz: Garbage collection [01:26] Announcement: thats gay [01:26] Announcement: and i got ff beta now [01:26] Nuck: Announcement: Oh, and Java is being killed by Oracle now. They're attemptingto sue Google and Apache for their own Java implementations :| [01:26] Announcement: ie beta chrome beta ie beta [01:26] Announcement: ff beta [01:26] Announcement: sry [01:26] Announcement: is there a safari beta yet? [01:27] piscisaureus: jonaslund: yeah [01:27] jonaslund: yes.. oracle in control of java is bad [01:27] davidc_ has joined the channel [01:27] davidc_ has joined the channel [01:27] jonaslund: piscisaureus: did you add anything like http://www.jlim.se/staticlib.patch ? [01:27] Announcement: javascript should take over the world [01:27] Announcement: wait i just realized something [01:27] alek_br has joined the channel [01:27] Nuck: Announcement: Steve Jobs would never let you see it before it's near-perfect :3 [01:27] piscisaureus: mp [01:27] piscisaureus: no [01:27] Nuck: Hence why the white iPhone has been delayed for a whole year [01:28] Nuck: And that's just projected right now ;) [01:28] Announcement: white iPhone would look gay [01:28] piscisaureus: jonaslund: is it in ry/node? [01:28] Nuck: Announcement: It's pure white. [01:28] Announcement: gay! [01:28] Nuck: Announcement: It's pretty sexy, actually. [01:28] Nuck: I'm still going for the black iPhone when I get mine tho [01:28] jonaslund: piscisaureus: msg [01:28] Announcement: oh i googled it [01:28] Announcement: its actually ok/ish [01:28] Announcement: but the front is black [01:29] Nuck: Announcement: No, it's white :V [01:29] Announcement: can ulink me? [01:29] bradleymeck has joined the channel [01:29] Nuck: Announcement: No, too much work :B [01:29] Announcement: plz [01:29] Nuck: Anyways, back to the topic of NodeJS, *IS* there any way to get STDIN before the user presses enter? [01:30] Announcement: no [01:30] Announcement: javascript is run by c# right? [01:30] Announcement: or just c [01:30] Nuck: Announcement: I think C++ [01:30] Nuck: I think V8 is C++ [01:30] Announcement: no [01:30] Announcement: im pretty sure its c# or c [01:30] mscdex: V8 is C++ [01:30] Nuck: Yeah, pretty sure it's C++ [01:30] jonaslund: C++ [01:30] v8bot: jonaslund has given a beer to C. C now has 6 beers. [01:30] Gruni has joined the channel [01:31] mscdex: ha [01:31] Announcement: v8 might be c++ [01:31] Nuck: C++ [01:31] v8bot: C is getting too many beers. Don't let C get drunk! [01:31] Nuck: lol [01:31] Announcement: but the original one was c [01:31] Nuck: Announcement: No, it's always been C++ [01:31] Announcement: sure? [01:31] Nuck: V8 hasn't been fully rewritten AFAIK [01:31] Nuck: It's a big thing [01:31] Announcement: v8 is c++ [01:31] Nuck: It's basically a whole compiler in itself. [01:31] Announcement: c++ [01:31] v8bot: Announcement has given a beer to c. c now has 3 beers. [01:32] Nuck: c++ [01:32] Announcement: it just went from 6 to 3 [01:32] v8bot: c is getting too many beers. Don't let c get drunk! [01:32] Nuck: lmao [01:32] mscdex: Announcement: it's case-sensitive [01:32] Nuck: Announcement: Caps matter methinks ;) [01:32] Announcement: oh yea [01:32] Announcement: case matters in js [01:32] Announcement: C++ [01:32] v8bot: Announcement has given a beer to C. C now has 7 beers. [01:32] Announcement: c++ [01:32] v8bot: c is getting too many beers. Don't let c get drunk! [01:32] Announcement: lol [01:32] Nuck: And that's what .toLowerCase() is for lol [01:32] Announcement: yea [01:32] Nuck: C++ [01:32] v8bot: C is getting too many beers. Don't let C get drunk! [01:32] Announcement: and str.rape [01:32] mscdex: Nuck: what do you mean regarding 'getting' stdin before the user presses enter ? [01:33] Nuck: ACTION shakes his fist at v8bot [01:33] Announcement: like google live search [01:33] Nuck: mscdex: Well, I want to be able to accept STDIN while still printing to console [01:33] Announcement: omg finally [01:33] Utkarsh_ has joined the channel [01:33] Announcement: they called out gbayh [01:33] Nuck: So when I print, I'd just check what's already written [01:33] Nuck: And then store it and spit it back out [01:33] Announcement: Green+Bay=Gay [01:33] Announcement: omg [01:33] thrumins: i think node should just rename its versioning, like node 0.2 -> node 2 and node 0.3 -> node 3, and node 0.4 -> node 4 [01:33] Announcement: i just thought of that [01:33] thrumins: otherwise every time i tell someone the version, i have to go 'node oh point two' [01:34] Nuck: thrumins: It's still a beta, so not good. [01:34] mscdex: Nuck: what's the problem? you can listen on stdin and output to stdout or stderr ? [01:34] thrumins: lately just decided to ignore that 'oh point' and just say 'node 3' or 'node 2' [01:34] Nuck: mscdex: Well, I don't get STDIN until the user hits enter [01:34] Nuck: mscdex: So nothing can be printed to console until the user hits enter. [01:34] mscdex: Nuck: you do process.stdin.resume() and add a listener for the 'data' event right ? [01:35] Remoun has joined the channel [01:35] Nuck: mscdex: data only fires on enter, from what I've seen. [01:35] Nuck: If it fired per-char, it'd be easier [01:35] Nuck: Then I just capture that and add it to a buffer [01:35] mscdex: oh, i dunno then [01:35] amerine has joined the channel [01:36] mscdex: node-ncurses does it character by character [01:36] Nuck: And then when they hit enter, take that buffered-up thing, and process that as I would process STDIN normally [01:36] mscdex: :p [01:36] Nuck: mscdex: But I'm trying to avoid dependencies. Plus, I can't figure out how to work ncurses (and I'd like a scrollback still =P) [01:36] mscdex: heh [01:36] Nuck: Yeah [01:36] Nuck: I made my own CLI module [01:37] Nuck: Which handles colors simply [01:37] Nuck: with require('./cli.js').fg.blue and such [01:37] Nuck: I use the variable c generally [01:37] Lorentz: Isn't there coloured for console usage? [01:37] Lorentz: And ncurses [01:37] mscdex: i'm still not exactly sure what you are wanting [01:37] mscdex: you said you are processing the input after they hit enter anyway right? [01:38] Announcement: stealers r ****ing tough [01:38] Nuck: mscdex: I just want to capture the input before the user presses enter. [01:38] mscdex: so why do you need it character by character? [01:38] Announcement: gay is winning by 11 points though [01:38] Nuck: mscdex: Because I can't print to console until they hit enter [01:38] Nuck: I'd like to have it add lines, and push the input line down as the new lines get added [01:38] mscdex: but why would you want to do that? it would display inline ? [01:38] Announcement: i love ff4 [01:38] patrickarlt has joined the channel [01:39] mscdex: :S [01:39] Nuck: mscdex: Okay, I hail from deviantART's chat system. I am coding a NodeJS chatbot there, and I want to make it so the bot can be managed and controlled from the console [01:39] Nuck: And it's always showing the chat messages in console [01:39] Nuck: But I want to be able to accept input too [01:40] Nuck: Basically, each new line is handled by moving up a line and then printing over the previous line, then on the next line, it puts ">>" ( an input prompt) [01:40] Nuck: But I can't do anything while the user is typing [01:40] Nuck: in fact STDOUT seems to be paused once the user starts typing. [01:41] mscdex: did you try stderr ? [01:41] mscdex: that's unbuffered [01:41] Nuck: I want to just have it capture what they type, as they type it, and tack it on after the ">>" [01:41] Nuck: mscdex: Eh? But STDERR isn't input [01:41] Nuck: Right? [01:41] mscdex: you were talking output -- stdout [01:42] Nuck: mscdex: What I'm saying is that I'm constantly echoing chat messages to console, and I want it to take input at the same time [01:42] mscdex: right [01:42] Nuck: Without stopping new messages from being displayed [01:42] mscdex: i think that's going to be tricky [01:42] Nuck: I've got it working with the blocking input [01:43] mscdex: you'd have to probably use a bunch of escape sequences [01:43] Nuck: But I would rather not :V: [01:43] mscdex: if you're not using ncurses [01:43] Nuck: I have the escape sequences to move it up and such [01:43] Nuck: But it's the STDIN's data event that's the issue [01:43] Nuck: I need to get on each keypress [01:44] Nuck: (hell, with that, I could display an input only when they start typing :D) [01:45] zakabird has joined the channel [01:46] Announcement: wheres this going [01:49] mscdex: Nuck: i don't think you're going to be able to do what you want without doing some custom C++ termios-related stuff [01:49] piscisaureus: Nuck: are you using it from a real console? [01:50] piscisaureus: you could use process.stdin.on('keypress', function(char, key) { [01:50] btipling: does the node.js http server support the range header? [01:50] piscisaureus: that is supported since 0.3.7 [01:50] mscdex: well, i take that back [01:51] mscdex: you could use stty [01:51] Nuck has joined the channel [01:51] Nuck: oi [01:51] piscisaureus: Nuck: you would need to switch stdin to raw mode first [01:52] btipling: don't see anything about range in the http docs [01:52] dominictarr has joined the channel [01:53] mscdex: Nuck: you could do the following, but you can't backspace characters: stty -icanon min 1 time 0 [01:53] jonaslund: btipling: I think that's something that's up to you to implement [01:54] jonaslund: btipling: in the service you write [01:54] piscisaureus: Nuck: you have a code snipped? [01:54] piscisaureus: *snippet? [01:55] mscdex: Nuck: although you could try 'stty erase ^?' to try and fix that [01:55] mscdex: just remember to undo those settings when you exit ;-) [01:56] piscisaureus: since 0.3.7 there is also some stuff to move the cursor in core [01:57] lukegalea has joined the channel [01:58] yozgrahame has joined the channel [01:58] Nuck: Raw mode would work? [01:59] piscisaureus: Nuck try it, it depends on what you try to do exactly [02:00] piscisaureus: require('tty).setRawMode(true) [02:00] Nuck: Does that let me get data per character? :3 [02:00] piscisaureus: yep [02:01] Announcement: require('ttyl').setRawMode(true); [02:01] piscisaureus: and with stdin.on('keypress') you get info about arrows, functions keys etc [02:01] Announcement: ?? [02:02] piscisaureus: 42 [02:02] Announcement: 42 [02:02] Nuck: wat [02:03] broofa has joined the channel [02:03] Nuck: piscisaureus: Why is this not in the docs!?!? This could be one of the most useful things ever. [02:03] piscisaureus: because it is new. And it is a little sensitive... [02:04] mikeal has joined the channel [02:04] Nuck: sensitive? [02:04] Nuck: Should I try not to offend it? [02:04] piscisaureus: hehe [02:05] piscisaureus: it was added to allow repl to work on windows [02:05] piscisaureus: but ryan was not exactly fond of it [02:05] piscisaureus: but I think he is okay with it now [02:05] piscisaureus: this api is also a little volatile, should bake for a while [02:06] nrkn has joined the channel [02:06] Ratty_: My name is also Ryan [02:06] Ratty_: It is a cool name [02:06] brapse has joined the channel [02:07] boaz has joined the channel [02:07] dnyy has joined the channel [02:07] lukegalea has joined the channel [02:07] Nuck: piscisaureus: I wish the docs at least LISTED what I could call. I could care less about docs, an API listing is good enough for most things. [02:08] jano has joined the channel [02:08] piscisaureus: I can't really decide that. If you think it should be exposed, please send an email to the ML [02:08] photofroggy: How many people are actually working on Node? [02:08] photofroggy: Is it a small time project? [02:09] piscisaureus: Nuck: you wanna know what you can call? Look here: [02:09] piscisaureus: https://github.com/ry/node/blob/master/lib/tty.js [02:09] piscisaureus: https://github.com/ry/node/blob/master/lib/tty_posix.js [02:09] piscisaureus: https://github.com/ry/node/blob/master/lib/readline.js [02:09] piscisaureus: photofroggy: a few people work on it. Ryan mostly [02:09] piscisaureus: I work on porting it to windows [02:10] piscisaureus: for me it is a small time project right now [02:11] saschagehlich has joined the channel [02:13] bradleymeck: tj about? [02:16] takumi_nakane has joined the channel [02:16] xandrews has joined the channel [02:18] jpstrikesback has joined the channel [02:20] SvenDowideit has joined the channel [02:22] lukegalea has joined the channel [02:24] eee_c has joined the channel [02:30] Announcement: FYUCk [02:31] Announcement: GG [02:31] fermion has joined the channel [02:32] lukegalea has joined the channel [02:34] micheil has joined the channel [02:35] yhahn has joined the channel [02:35] yhahn has left the channel [02:36] zentoooo has joined the channel [02:37] dominic_ has joined the channel [02:41] Nuck: piscisaureus: Oh my god, thank you sooooooo much. [02:41] Nuck: That stuff is working now :D [02:41] piscisaureus: np [02:42] Nuck: I'm gonna branch my code and use that in my cli stuff! [02:42] dominic_: hey, can anyone help me getting my package.json right? [02:42] dominic_: i'm trying to specify additional files to load like [02:42] dominic_: require('package/file') [02:42] Nuck: Hmmm... Up, down, left, and right all appear as the same char code >_> [02:42] Nuck: I assume that's because they're not just one char tho [02:43] dominic_: I have a "main":"./trees.js" [02:43] piscisaureus: Nuck: they should all just give undefined as char code [02:43] dominic_: and "directories":{"lib":."/lib"} [02:43] dominic_: "directories":{"lib":"./lib"} [02:44] piscisaureus: look at the key name to see what it is [02:46] Nuck: piscisaureus: I'm starting with development in Node.JS 0.3.1 (since I'm coding on Windows) and I set raw mode on, and bound data events. They fire with each keypress, and all direction keys show up as 27 with '.charCodeAt(0)' [02:46] Nuck: yeah, it's got 3 char codes [02:46] Nuck: I modded it to iterate through the chr string and get the char code for each character [02:46] piscisaureus: Nuck: that's the problem that the keypress api tries to solve, but it's not in 0.3.1 [02:47] braddunbar has joined the channel [02:47] piscisaureus: Nuck: you are seeing ansi escape sequences [02:47] Nuck: Yeah [02:48] piscisaureus: they always start with \x1b[ or \x1bO [02:48] Nuck: piscisaureus: I want to keep compatibility with 0.3.1, at least until a new binary comes out for Windows [02:48] piscisaureus: ok. [02:48] Nuck: Basically, I'm using conditional statements checking the version [02:48] piscisaureus: Nuck: but why don't you just use readline? [02:49] Nuck: piscisaureus: eh? [02:50] piscisaureus: node has a builtin system for reading lines from the console [02:50] piscisaureus: but whether it is useful depends on what you are trying to do [02:51] themiddleman has joined the channel [02:52] Nuck: >_> [02:52] clarkfischer has joined the channel [02:52] piscisaureus: hmm i guess that if what you do now works, it shoudl be fine [02:53] piscisaureus: ACTION off to bed [02:54] mikeal has joined the channel [02:54] Nuck: I might start using reeadline though, at least for the initial config thing [02:54] tvon has joined the channel [02:55] SubStack: readline is nice in that it checks your ~/.inputrc [02:55] Nuck: ... [02:55] Nuck: What's inputrc? [02:55] SubStack: ACTION likes his set editing-mode vi [02:56] Nuck: ACTION stares blankly at SubStack. [02:56] SubStack: Nuck: it's some magic that lets you use vi or emacs commands on regular text inputs [02:56] mheld has joined the channel [02:56] mheld: hey y'all [02:56] SubStack: also rlwrap looks at ~/.inputrc too [02:56] SubStack: if the program you're running doesn't use readline [02:56] Nuck: ummm okay [02:57] mheld: is there a preferred web framework and mongodb driver for node.js? [02:57] perlmonkey2: anyone have some mongoose examples? a Model with a Model collection as a property. And defining a Model which extends/inherits from another Model? [02:57] Nuck: I don't even know what you mean by vi commands. [02:57] Nuck: I use nano for text editing, if I absolutely must use console [02:57] Nuck: Otherwise, Notepad++ [02:57] SubStack: gross [02:57] Nuck: Or Kate [02:57] perlmonkey2: mheld: I think most people use Mongoose and Express. [02:57] Nuck: Modal editing hurts my head [02:57] Nuck: And drives me insane. [02:57] gkatsev: mongoose just came out with their 1.0 release [02:58] mheld: perlmonkey2: gracias [02:58] Nuck: I think NodeJS needs a native Database method =P [02:58] SubStack: ACTION has hit a pretty good local maxima with vi keys [02:58] Nuck: MySQL, SQLite, anything [02:58] SubStack: a native? no thanks! [02:59] mikeal: Nuck, MySQL and SQLite only have blocking C drivers [02:59] SubStack: anyhow you can just use JSON for that stuff [02:59] Lorentz: This public service announcement was brought to you by The Keep Nodejs Unbloated Foundation [02:59] gkatsev: mheld: don't forget npm http://npmjs.org/ [02:59] gkatsev: mheld: also, mongoosejs.com and expressjs.com [03:00] SubStack: Nuck: check out this one http://github.com/pkrumins/node-supermarket [03:00] mikeal: damn [03:00] mikeal: a lot of people use underscore [03:00] gkatsev: underscore is great [03:01] mikeal: it's a diverse group of people [03:01] mikeal: http://search.npmjs.org/#/underscore [03:01] Anti-X: the what now? [03:01] mheld: gracias gkatsev :-) [03:01] gkatsev: :) [03:02] Anti-X: functional programming for js? isn't that like putting a cd with nascar sounds in your beetle? [03:02] mikeal: it's the depended on library in the npm registry [03:02] mikeal: it's beating request by 3 modules [03:02] gkatsev: Anti-X: lol [03:02] mikeal: http://search.npmjs.org/ [03:03] mikeal: it annoys the piss out of me that vows has that many depends, because you aren't suppose to depend on your development modules, there is another property called devDependencies just for that [03:03] mikeal: then they only get installed when you bundle or link [03:03] Anti-X: so tell the dude about it [03:03] gkatsev: 2 TJ libs in the top and 2 jeremey ashkenas in the top 15 [03:03] mikeal: same thing with the test module [03:04] gkatsev: technically, 3 TJ, since socket.io is also learnboost, apparently? [03:04] mikeal: Anti-X: there are 30 different libraries depending on it :) [03:04] SubStack: mikeal: I thought it was scripts : { "test" : "testthingy" } [03:04] mikeal: i don't want to tell all of them [03:04] SubStack: at least that's what `npm init` leads me to believe [03:04] mikeal: SubStack: but what if that script requires vows or another test runner? [03:04] SubStack: oh true [03:04] mikeal: that's what devDependencies are for [03:04] SubStack: good to know, I'll start using that [03:05] mikeal: so when you set it up for development npm will install them, but it won't if you're just trying to use the module [03:05] SubStack: not that I pollute dependencies with stuff I only use in tests [03:05] mikeal: this is about to be a much bigger deal [03:05] mikeal: with the new module system and the fact that you'll basically bundle all your dependencies [03:06] SubStack: any plans to integrate test metadata into search.npmjs.org? [03:06] bmp has joined the channel [03:06] SubStack: having tests is a good differentiator if you've got to choose among many modules [03:07] dominic_: oh hey, i'm actually working on a thing for this. [03:08] dominic_: i'm gonna set up a webservice that runs the tests for all the npm packages. [03:09] dominic_: runing the tests on all the different node versions, [03:09] SubStack: dominic_: excellent! [03:10] dominic_: but the big thing, is I'm gonna test each package with different versions of it's dependencies, so see which combinations work. [03:11] SubStack: dominic_: any chance it could be on-demand too for when module authors want to make sure their module still works on old node versions they want to support before `npm publish`ing? [03:11] SubStack: that also sounds super useful [03:11] dominic_: absolutely. [03:11] ryanfitz has joined the channel [03:11] muk_mb: is there a nicer client tracking/billing program than freshbooks? [03:12] SubStack: then we can limit the package.json dependencies to the ones that actually work [03:12] dominic_: i'm also gonna allow people to submit additional tests as gists or whatever... [03:12] dominic_: yeah... exactly! [03:13] zakabird has joined the channel [03:13] perlmonkey2: inheritance in Mongoose? http://pastebin.com/hcUMYvc3 [03:14] perlmonkey2: I guess that isn't really inheritance, since methods wouldn't be overwritten would they? [03:14] mikeal: we can do the tests eventually [03:15] mikeal: but for now the priorities are getting a doc system in place [03:15] mikeal: and some kind of voting [03:15] SubStack: docs would rock [03:16] mikeal: i talked to isaacs today and I think we have a plan banged out [03:16] SubStack: I just throw all that stuff into the readme usually [03:16] mikeal: it's going to require some additions to npm [03:16] mikeal: yeah, that's what most people do [03:16] mikeal: that'll be heavily integrated [03:16] mikeal: and if you have more docs then you just use the directories: {docs:{"./"}} [03:17] SubStack: ah excellent [03:17] gkatsev: mheld: we'll bring you over to the light side from ruby, yet. :P [03:17] mikeal: and then we'll push up that directory of html [03:17] phiggins has joined the channel [03:18] mheld: gkatsev: NEVER! [03:21] echosystm has joined the channel [03:21] isaacs has joined the channel [03:22] isaacs: dominic_++ [03:22] v8bot: isaacs has given a beer to dominic_. dominic_ now has 1 beers. [03:22] perlmonkey2: oh, I see. This might be closer to correct. I need to set this up to test. http://pastebin.com/dJTZzqmv [03:22] isaacs: oh, my beer upset his peer connection [03:22] isaacs: oops [03:22] dominic_ has joined the channel [03:22] isaacs: though, if anyone comes up with a better acronym than "CPANTS", I'll be super impressed. [03:22] SubStack: it must've spilled [03:22] isaacs: dominic_++ [03:22] v8bot: dominic_ is getting too many beers. Don't let dominic_ get drunk! [03:23] SubStack: tode [03:23] SubStack: .js [03:23] dominic_: oh hey. just who i needed to see. [03:23] kawaz_work has joined the channel [03:23] isaacs: dominic_: check out cpants [03:23] isaacs: it's really quite impressive. [03:23] dominic_: just trying to get my package.json right ... [03:23] SubStack: multi-platform even! [03:24] isaacs: the idea would be that you install some package or something, and then you can volunteer to install stuff, and then have the program report about the version of your system, os, version of node, everything, and then it'd try to install something, run the tests, and report back to the server. [03:24] isaacs: what are you trying to do with your package.json? [03:25] SubStack: like this http://matrix.cpantesters.org/?dist=WWW-Mechanize+1.66 [03:25] nonnikcam has joined the channel [03:25] isaacs: SubStack: yeah! [03:25] isaacs: HELLZ yeah [03:25] shiawuen has joined the channel [03:25] echosystm: does anyone know of a really good example of a large RESTful api? [03:25] dominic_: just trying to get sub modules to work [03:26] echosystm: the twitter api seems like a huge mess - is that typical? [03:26] dominic_: require('trees/sort')? [03:26] dominic_: so i've defined a main module, [03:26] isaacs: dominic_: so, fyi, that's going to change drastically very soonish [03:26] Marnixvdb has joined the channel [03:26] isaacs: if possible, it'd be better to do something like require('trees').sort [03:26] isaacs: and have your main module export it. [03:26] SubStack: yeah I need to update my modules for that still [03:27] dominic_: oh got it. [03:27] dominic_: i was a little confused by what you meant in that email. [03:27] isaacs: alternatively, you can do this, which will work today, and will continue to work: { "directories" : { "lib" : "." }} and then put your modules right in the root [03:27] isaacs: but that's ugly as piss on a donkey [03:28] dominic_: I tried that too. [03:28] isaacs: we've explored many different ways to package up node programs. [03:28] isaacs: but it's not so good. [03:28] dominic_: yeah, I like it how your totally prepared to ruthlessly simplify. [03:29] isaacs: thanks [03:29] isaacs: mostly it's ryah pushing me. [03:29] isaacs: but it's good. [03:30] dominic_: so i'm quite familiar with the module loading code in 0.3.x [03:30] Mike_Rice has joined the channel [03:30] jimt_ has joined the channel [03:30] isaacs: dominic_: yeah, didn't you hack on it at some point? [03:30] dominic_: but i've been hearing things about this bundling npm dependencies. [03:30] isaacs: or am i thinking of someone else? [03:31] dominic_: yeah thats me. [03:31] dominic_: it's a dependency in this testing project. [03:31] isaacs: dominic_: https://github.com/isaacs/node/blob/v0.5/doc/api/modules.markdown [03:32] meso has joined the channel [03:32] photofroggy has left the channel [03:32] Ratty_: Bit off topic but is it possible to make github include submodules when downloading a zipped repo? [03:32] isaacs: Ratty_: don't think so [03:34] MikhX has joined the channel [03:34] dominic_: isaacs: thanks. so my question is, when a package has a dependant will i be able to parse the version of that dependency from the resolved path? [03:34] dominic_: sorry, dependant should be dependencie [03:34] isaacs: dominic_: got it. yes. require("connect/package.json").version will continue to work. [03:35] SubStack: what! [03:35] Mike_Rice has joined the channel [03:35] isaacs: at least, if the package is installed by npm [03:35] isaacs: oh, i guess that'll be a problem, huh [03:35] isaacs: since package.json will refer to an actual thing [03:35] isaacs: so it'd be require("connect/package.json.js") [03:36] dominic_: i mean if i'm in require.resolve('connect') [03:36] phiggins has joined the channel [03:36] dominic_: currently that would show something like [03:36] jamescarr has joined the channel [03:36] dominic_: .npm/package/version/package/index.js [03:37] dominic_: and it may depend on scope as to what version you get, depending on the declared dependencies? [03:37] amerine has joined the channel [03:38] isaacs: yeah.. [03:39] isaacs: so, the .npm folder: gone. [03:39] isaacs: well... will be gone. [03:39] dominic_: okay [03:39] isaacs: require.resolve("connect") would probably show you something like ./node_modules/connect/index.js [03:40] iszak has joined the channel [03:41] dominic_: okay, so it's just gonna copy the versions into relative folders, not link them? [03:42] Nuck: I'd love NodeJS more if it stopped having APIs disappear, and instead started deprecating them. [03:42] Nuck: deprecated for a version and remove after that. [03:43] Nuck: If something gets moved, redirecting the old one would be nice too :P [03:43] jamescarr: Nuck, with most libraries you cannot expect consistency until they hit 1.0 [03:44] jamescarr: most libraries / platforms don't get anything resembling a solid api till 1.0 [03:44] Nuck: jamescarr: True, but at least some warning would be nice. [03:44] SubStack: I would rather node got rid of crufty stuff sooner rather than later [03:44] jamescarr: for the most part node stays consistent between minor versions [03:44] chapel: Nuck: which apis are you talking about? [03:44] tvon has joined the channel [03:44] muk_mb has joined the channel [03:44] Nuck: chapel: Well, basically, all of them :| [03:44] jamescarr: 0.2.x stays consistent... 0.3.x is where it all changes [03:44] Nuck: yeah [03:44] jamescarr: and 0.4.x will be the same [03:44] chapel: cause most of the important ones actually have depreciations [03:44] Nuck: 0.3.x is pretty unstable XD [03:45] chapel: its not unstable... [03:45] chapel: bah [03:45] jamescarr: Nuck, no [03:45] SubStack: hah check out the first api it's completely unrecognizable and also crap [03:45] jamescarr: it went stable [03:45] chapel: it is changing, thats why its called unstable [03:45] Nuck: Well, not unstable, but changes a lot throughout the versions XD [03:45] chapel: not because it crashes (though I am sure it could depending on what you were doing) [03:45] jamescarr: Nuck, yeah, that will probably continue to happen too [03:45] Nuck: Oh I try.. catch a lot =P [03:45] chapel: but 0.4.0pre is out [03:45] jamescarr: Nuck, just pray that none of the guys arguing for coroutines get their crap into future versions :) [03:45] SubStack: although the first direction for development was probably just trying to bolt some stuff onto v8 to see what sticks [03:46] Nuck: I would like some warning or changelogs or something XD [03:46] chapel: so soon we will have a new stable [03:46] jamescarr: actor concurrency models rock... [03:46] Nuck: coroutines? [03:46] SubStack: jamescarr: too late somebody already figured it out and put it on npm [03:46] chapel: Nuck: there are plenty of warnings [03:46] jamescarr: some of the coro crud people are advocating on the lists is like taking 20 steps back [03:46] chapel: read the mail lists [03:46] andrewfff has joined the channel [03:46] Nuck: chapel: Yeah, I'll prolly subscribe and start reading it :P [03:46] chapel: serious, every update ryah does a change log on there [03:46] SubStack: http://nodejs.org/docs/v0.0.1/api.html [03:47] jamescarr: SubStack, yeah saw that. After years of developing threaded apps in java it looks like all the lessons learned thrown out the doors [03:47] Nuck: chapel: orly? Is it pretty in-depth? [03:47] chapel: umm, if there is a change, he lists it [03:47] Nuck: Like, the TTY API, I can't figure that out worth shit [03:47] chapel: like sys becoming utils [03:47] Nuck: chapel: Wait, what? [03:47] chapel: and http.createClient becoming http.request [03:47] Nuck: sys = utils? [03:47] chapel: sys is depreciated [03:47] jamescarr: yield littered all over? blocking thread execution while waiting for threads to catch up? bogus [03:47] Nuck: Shit, I need to update everything XD [03:47] sudoer has joined the channel [03:47] SubStack: *deprecated [03:47] SubStack: [03:48] chapel: heh [03:48] Nuck: chapel: So I've gotta switch over the createClient to request? [03:48] chapel: yeah, read the api [03:48] Nuck: ah lol [03:48] chapel: it makes sense [03:48] Nuck: Well, I've been coding on v0.3.1 [03:48] chapel: its a good change [03:48] Nuck: I agree [03:48] Nuck: Sounds good [03:48] chapel: https is also separate from http [03:49] Nuck: chapel: Oh, I need https. [03:49] sudoer has joined the channel [03:49] chapel: so instead of http 443 blah blah, its a separate module [03:49] ezmobius has joined the channel [03:49] jtoy has joined the channel [03:49] Nuck: I'm making a bot on deviantART Chat, and it's already beating the Ruby bot somebody else is working on ;) [03:49] Nuck: No dependencies, easy setup, etc. [03:49] Nuck: Well, easy on windows XP [03:49] tvon has joined the channel [03:50] Nuck: Err, not the OS, the emote [03:50] dominic_: isaccs: so is this stuff being coded yet? how soon is soon? [03:51] luke`_ has joined the channel [03:51] MattDiPasquale has joined the channel [03:52] Nuck: I love watching Node compile lol [03:52] Nuck: It's just a huge wall of text. [03:55] jeromegn: is there an easy way to figure out if my forEach loop has looped through everything yet? [03:56] AAA_awright: jeromegn: Right when the very next statement after the loop is executed? [03:57] Ond has joined the channel [03:57] MikeMakesIt has joined the channel [03:57] jeromegn: AAA_awright: Hmm, I was under the impression forEach loops were running async... [03:58] pifantastic has joined the channel [03:58] AAA_awright: jeromegn: If that were the case it would have a callback. In any event, Array.forEach is specified in the ECMAScript spec [03:59] jeromegn: ah, my bad... I have async stuff within the loop [03:59] zzak has joined the channel [03:59] bmp has joined the channel [03:59] isaacs: dominic_: it's planned. i have a few small-ish bugs in my way first, that i want to vanquish before forking [04:00] isaacs: dominic_: the sudon't stuff is going to be resolved *very* soon. (as in, it's mostly working, just needs to have some functionality in place to support the insecure style if you configure it to do so) [04:00] Nuck: What language is node itself coded in? [04:00] MikeMakesIt: C [04:00] isaacs: also, i want to move over to the new http/https client asap [04:00] Nuck: Some mixture of C and JS? [04:00] AAA_awright: jeromegn: Ah yeah, you probably need a counter then... var remaining=1; list.forEach(function(){++remaining; async(function(){--remaining;});}); --remaining; [04:00] AAA_awright: Test for remaining==0 to see if you're done [04:01] dominic_: isaacs: my only request is that there is someway to know from the inside, what version a loaded module is. [04:01] isaacs: Nuck: some parts are in C. v8 is c++, so huge chunks of node are in C++. a *lot* of node is in js (everything above the lowlevel bindings) [04:01] Nuck: AAA_awright: Why not just for (var i = 0; i < length; i++ )? [04:01] Nuck: isaacs: Ahhh. I assume the JS is all compiled then? [04:01] jeromegn: AAA_awright: sounds good :) I was about to do that, but for a sec I was wondering if forEach loops had something integrated in them [04:01] AAA_awright: Nuck: I assume it's testing all the callbacks have been called [04:01] AAA_awright: So you can't because that's sync [04:01] isaacs: Nuck: all the JS in the node lib folder is copied into the binary as a C string. [04:02] dipser_ has joined the channel [04:02] dominic_: ...before the module is loaded ideally. [04:02] isaacs: Nuck: it's parsed and turned into object code when you do require('path') or whatever. [04:02] Nuck: isaacs: Oh, that's an interesting way of doing things lol [04:02] isaacs: Nuck: it's how v8 does it :) [04:02] isaacs: Nuck: also, v8 takes a snapshot of its startup state, and node doesn't do that, but it'd be cool to. [04:03] isaacs: Nuck: and all calls to debug() and assert() are taken out of the non-debug build. [04:03] MikeMakesIt has left the channel [04:04] MikeMakesIt has joined the channel [04:04] SubStack: oh isaacs I finally got around to getting browserify to work last week http://github.com/substack/node-browserify [04:04] ajcates has joined the channel [04:04] SubStack: you can load npm modules from browser-side code, but they all get bundled ahead of time so you get synchronous requires and don't need to send xhr requests or other silly things [04:05] isaacs: nice [04:05] isaacs: SubStack: doesn't that teleport thingie work kinda like that? [04:05] isaacs: like it pre-packages it up so youjust download it all in one go? [04:05] Lorentz: Is there anything higher-up app like some kind of store product cart management style thing yet in nodejs? [04:05] SubStack: I really want to use it to package up the browser-side libs for socket.io and dnode and perhaps jquery [04:05] Lorentz: Can't remember if there was one already [04:06] zentoooo has joined the channel [04:06] SubStack: isaacs: with teleport you've got to run a cli tool, browserify does it all for you at runtime when the server starts up [04:07] SubStack: also with this approach I can optionally set watches on the files in the basedir and update the bundled source at runtime >:D [04:07] dominic_: SubStack: how does it figure out the dependencies? does it load it serverside? [04:07] SubStack: dominic_: right now you've got to pass in which modules you want to wrap [04:08] dominic_: right. so you declare your dependencies? [04:08] SubStack: and it throws them all into a browser-side objects and executes them on-demand with caching [04:09] dominic_: I have a tool that loads modules and returns the dependency tree, would that be useful? [04:09] MikeMakesIt has left the channel [04:09] MikeMakesIt has joined the channel [04:10] SubStack: dominic_: could be very useful? link? [04:10] SubStack: s/\?/./ [04:10] dominic_: https://github.com/dominictarr/remap [04:11] cloudhead: brapse: v.v [04:11] SubStack: the other big problem is that require() can take any string, so static analysis is impossible in all cases [04:11] brapse: cloudhead: get bent. [04:11] cloudhead: brapse: o.o [04:11] SubStack: but for most cases you can probably get pretty far [04:11] pauls: anyone else use colloquy? [04:11] Jaye: i do [04:12] SubStack: dominic_: hah I'm already watching this one on github [04:12] xandrews has joined the channel [04:12] pauls: jaye: do you have the emoticons pack where ^_^ looks like a japanese schoolgirl? gets me every time [04:12] dominic_: surely, in practice it's limited by what filenames your os allows? [04:13] Jaye: Lol yeah thats the standard one iirc [04:13] patrickarlt has joined the channel [04:16] jimt has joined the channel [04:17] statim has joined the channel [04:17] stagas has joined the channel [04:18] SubStack: beh there should be a 'ready' event that fires for servers [04:19] SubStack: right now you can only pass a callback to listen() [04:19] dominic_: SubStack: so does browserfy wrap files that have thier own dependencies? [04:20] SubStack: dominic_: browserify only wraps files, it doesn't know about dependencies at all [04:20] unomi has joined the channel [04:20] SubStack: that is the part I'll build next [04:20] dominic_: okay. we need to add that. [04:20] SubStack: oh but first I'll need to add wrappers around some of the builtin modules [04:21] SubStack: util/sys especially [04:21] dominic_: cool. I want to extend my test running thing to work in the browser. will need require. [04:21] SubStack: awesome! [04:21] dominic_: yeah! this is gonna be AWESOME! [04:21] SubStack: just get an minimum viable product out the door first [04:22] SubStack: easier to solicit contributors that way [04:22] asurai has joined the channel [04:22] beawesomeinstead has joined the channel [04:22] SubStack: this compatability tool would really help browserling out with library updates [04:23] dominic_: hmm. yes. just got the prototype ready yesterday. just gotta get it installing from npm now. [04:23] dominic_: it's gonna help pretty much everything. [04:23] MikhX has joined the channel [04:23] SubStack: oh snap! [04:24] SubStack: I just HAPPEN to have a cross-browser compatability testing tool [04:24] jakehow has joined the channel [04:25] amerine has joined the channel [04:25] SubStack: maybe if I get some time i can bolt on the browser-side automations [04:26] dominic_: Looks like I am talking to the right man. [04:26] Mike_Rice has joined the channel [04:27] SubStack: need to finish tunnels and a few other features first [04:28] dominic_: natually. there are still quire a few things that need to happen on my end also. [04:28] thrumins: hey good work dominic! talking with SubStack about your project [04:30] Nuck: now, somebody said Node has colors built-in now? [04:31] dominic_: catch you guys latter, I gotta go eat! [04:31] Mike_Rice has joined the channel [04:32] pauls: this is kinda cool http://www.jamesyu.org/2011/02/05/introducing-gmailr-an-unofficial-javscript-api-for-gmail/ [04:33] JimBastard has joined the channel [04:33] JimBastard: oh shit, the chan finally got registered [04:34] Nuck: lolwat [04:34] stagas_ has joined the channel [04:36] devkorcvince has joined the channel [04:36] dgathright has joined the channel [04:37] dominic__ has joined the channel [04:43] saschagehlich_ has joined the channel [04:45] jeromegn: anybody familiar with mongoose (>= 1.0) and using embedded documents? Getting a very unusual error [04:47] hij1nx has joined the channel [04:50] micheil: So, who here's in Sydney next wednesday and is interested in JS & Node.js? [04:53] MattDiPasquale has joined the channel [04:54] meso_ has joined the channel [04:56] jxh has joined the channel [04:56] Lorentz: micheil: Got the email [04:56] micheil: :P [04:57] Lorentz: I'll probably rock down to the city after work for it, yes [04:57] micheil: make sure you RSVP for it then :) [04:57] Lorentz: Yep [04:57] micheil: for those not following the SydJS mailing list, then myself, along with two others will be presenting talks [04:58] micheil: Micheil Smith: Deploying Node.js & Staying Sane [04:58] micheil: Mikkel Bergmann: BLAM ... Beautify, Lint And Minify your JavaScript [04:58] micheil: Jarrad Hope: WebGL - how it all works [04:59] xandrews has joined the channel [04:59] mnot: micheil: is there an equivalient melJS community? have failed to find so far... [05:00] micheil: I don't think so. [05:00] micheil: you should organise one :P [05:00] mnot: possibly [05:00] mnot: hmm [05:00] micheil: you could host at the yahoo HQ there :P [05:00] mnot: unfortunately, most of my contacts here are ruby-heads :-/ [05:00] mnot: hahaha [05:00] mnot: I've been in that office exactly once [05:01] mnot: if I arrange it, will more likely be in a good bar ;) [05:01] siong1987 has joined the channel [05:01] Utkarsh has joined the channel [05:01] mnot: (actually, I have a friend who owns a brewery; cut out the middle man ;) [05:02] jtsnow has joined the channel [05:08] Announcement: msg me [05:08] hassox has joined the channel [05:08] kawaz_work has joined the channel [05:09] patrickarlt has joined the channel [05:10] ryah: http://blago.dachev.com:8000/modules wow [05:10] ryah: this is rad [05:11] mape: nice [05:13] mape: could use some vertical spacing but other then that really nice [05:13] thrumins: click [05:14] JimBastard: it seems that TJ is missing from the authors list? [05:14] mheld: well, homebrew's node is horribly broken [05:14] mheld: that's pretty shitty [05:14] JimBastard: i missed the last meeting, he didnt get fired did he? [05:14] JimBastard: :p [05:14] Lorentz: ryah: That IS pretty kewl [05:14] thrumins: its not well indexed! [05:15] JimBastard: it looks really nice [05:15] JimBastard: who made that? [05:15] ryah: blago? i don't know. [05:15] thrumins: Blogovest Dachev made it [05:18] CrypticSwarm has joined the channel [05:18] Nuck: lol I feel like I'm always reinventing the wheel with my code [05:19] Nuck: But I guess that's one of the downsides of avoiding any and all dependencies and attempting to keep compatibility with 0.3.1 and 0.3.8 [05:20] Nuck: Reinventing the whole input system XD [05:20] Nuck: That's a new record, even for me! [05:20] SubStack: reinventing /o\ [05:20] Nuck: Yeah, essentially. [05:20] Nuck: I'm making my own raw input stuff [05:21] SubStack: but it's so easy to npm install packages! [05:21] SubStack: well if you write something put it up on npm so everybody can benefit [05:21] Nuck: I looked at the code used for that in v0.3.8, and was like "uhhhhh, that looks inefficient." [05:22] isaacs: Nuck: unless you've measured it, i'd tend to be skeptical of "looking inefficient" [05:22] Nuck: SubStack: Most of the things I've coded end up being replaced by built in stuff [05:22] SubStack: yes [05:22] isaacs: it's got a pretty rough track record. [05:22] SubStack: even code that is measurably inefficient probably doesn't even matter [05:22] isaacs: yep. [05:22] Nuck: isaacs: It's the raw input system. The code relies heavily on string parsing. What I'm doing is getting an array of char codes based on the input. [05:22] SubStack: but intuition regarding efficiency is usually suspect since v8 is making lots of its own optimizations [05:22] Nuck: And then running that through a switch [05:23] SubStack: so unless you're a big v8 contributor your intution is probably not great [05:24] zzak: why go through the trouble of reinventing the wheel, instead of helping make the ecosystem better? [05:24] Nuck: Plus, I dislike how the built-in stuff is handled. [05:25] isaacs: Nuck: whta "built in" stuff? [05:25] isaacs: Nuck: you mean you're writing your own tty binding? [05:25] SubStack: if you take the trouble to roll your own stuff make sure that you're going down a different featureset path first [05:26] SubStack: different takes on the same problem can be useful, but similar takes not so much [05:26] Nuck: isaacs: I'm recreating the TTY stuff on my own, since most of my clientele is going to be using NodeJS 0.3.1 [05:26] AAA_awright: Does Nginx have any way of signaling that a certain page expired, etc, that Node.js could use? [05:26] jimt has joined the channel [05:26] Nuck: And AFAIK, that's not in 0.3.1? [05:26] Nuck: If it is, then hellllllz yeah [05:27] zzak: aaa_awright: cache-control [05:27] Nuck: Otherwise, I'm stuck with setRawMode [05:27] Lorentz: I'll ask the question I asked some time ago again; is there any open b2c (basically retailer) ecommerce style nodejs app yet? Managing products, cart system, payment system, that kinda stuff for small to medium businesses. [05:27] AAA_awright: zzak: Is that a module? [05:27] micheil: mnot: a javascript meetup in a brewery sounds awesome. [05:27] zzak: aaa_awright: its an http header [05:27] AAA_awright: zzak: Does Nginx request the page even after it's already sent the cached one? [05:27] Nuck: BTW, last I heard, a chain of conditional statements is actually less efficient than a big switch {} [05:28] AAA_awright: zzak: The point is to invalidate a page already in the cache [05:28] micheil: ryah: that site is quite rad; I'm liking the look of it, but maybe could do with a little bit more.. [05:28] mnot: micheil: yes, but a knitting meetup in a brewery sounds awsome too… ;) [05:28] AAA_awright: If I had to re-render the page that would kinda defeat the point of caching [05:28] Lorentz: Drunk knitting ftw [05:28] mnot: micheil: I'll talk to a few ppl. If you know of anybody, pls send them my way [05:29] zzak: aaa_awright: http://wiki.nginx.org/HttpHeadersModule [05:29] micheil: mnot: well, there's a few JS folks in the surrounds; I can check with the team from NKO as to who's in the area, if you want? [05:29] Nuck: So, well, DOES Node 0.3.1 have the TTY? [05:29] micheil: Lorentz: also, I just updated http://sydjs.com [05:29] AAA_awright: zzak: That doesn't seem to do anything with the already-cached page [05:30] mnot: micheil: thx, that'd be great. I think I'll start a google group and see who bites... [05:30] shiawuen has joined the channel [05:30] Lorentz: micheil: Already booked on tixi [05:30] zzak: aaa_awright: how are you caching it? [05:30] AAA_awright: zzak: With Nginx [05:30] isaacs: SubStack: hey, wanna know a secret? [05:30] isaacs: SubStack: you don't have to do --loglevel=silent [05:30] isaacs: you can just do -s [05:30] Nuck: Anyone? :/ [05:30] AAA_awright: zzak: the reverse proxy builtin cache [05:30] isaacs: Nuck: node 0.3.1 is ancient history, man [05:31] isaacs: tha'ts an old version of the experimental branch. it may as well not exist. [05:31] zzak: aaa_awright: afaik if the page is already cached you can't really modify the headers [05:31] Nuck: isaacs: Well, tell that to all of us on Windows *stare* [05:31] Lorentz: That's what you get for using windows [05:32] mscdex: get a VM! [05:32] mscdex: :-D [05:32] Nuck: isaacs: That's all we've got. And no, Lorentz, I'm not switching to Ubuntu. Linux sucks ass. [05:32] zzak: aaa_awright: but maybe someone in #nginx will have a better idea [05:32] SwiftLayer has joined the channel [05:32] Jaye: hyou set up node on a windows server and didnt go mad? amazing [05:32] SubStack: isaacs: This is highly relevant to my interests. [05:32] isaacs: Nuck: 0.3.8 compiles on MinGW, and 0.3.7 on Cygwin [05:32] isaacs: Nuck: you've got other options [05:32] saschagehlich_: finally - it's done :) http://www.filsh.net << the power of node.js on 45 servers [05:32] Nuck: isaacs: :O [05:32] micheil: mnot: pm. [05:33] isaacs: Nuck: of course, npm doesn't work on MinGW [05:33] isaacs: Nuck: so, there's that. [05:33] isaacs: (yet) [05:33] zzak: isaacs: nuck: assuming semver, why worry about the minor patch level? [05:33] isaacs: it will in 0.5.x [05:33] isaacs: zzak: that's what you get for assuming semver. [05:33] zzak: ACTION dies [05:33] Nuck: isaacs: Shit I'll inform the guy hosting Windows binaries, tell him 0.3.7 is supposed to work :P [05:33] isaacs: zzak: in nodejs, 0.N.x is stable when N is even, and unstable when N is odd. [05:34] isaacs: Nuck: 0.3.7 only works on Cygwin, not on MinGW [05:34] AAA_awright: And in any event 0.x is unstable period [05:34] isaacs: (afaik) [05:34] Nuck: isaacs: That's actually a really cool way of versioning it... [05:34] Nuck: isaacs: Also, the binaries are Cygwin-based [05:34] AAA_awright: It's a really obsolete way of versioning it, at the very least [05:35] isaacs: Nuck: i see [05:35] Nuck: The MinGW way of building is unstable, though, right? [05:35] Nuck: I thought it had issues? [05:35] isaacs: Nuck: not sure. piscisaureus is working on it [05:35] Nuck: Oh, also, will NodeJS ever get 256-color mode? :3 [05:35] zzak: isaacs: oh good to know. so its not fair to assume that patch level (0.x.N) is going to cause api breakage? [05:35] Nuck: I would LOVE to see that. [05:35] isaacs: Nuck: it's just tty codes. [05:36] isaacs: Nuck: you can write \033[48;5;1m or whatever it is [05:36] Nuck: isaacs: 256-color mode is xterm tho [05:36] ajcates has joined the channel [05:36] isaacs: Nuck: right, but node doesn't care about that. [05:36] isaacs: Nuck: you can just write the bytes out. [05:36] isaacs: Nuck: that's how i do color in npm. (which, again, doesn't work with windows-native node) [05:36] Jaye: is npm breaking on 0.3.8? [05:37] isaacs: Nuck: check out the "colors.js" lib. [05:37] mnot has joined the channel [05:37] Nuck: isaacs: I made my own colors lib, with the 16-color mode [05:37] isaacs: Jaye: probably. what's your issue? [05:37] Nuck: It's a basic thing, but it works wonderfully for what I need it for [05:37] isaacs: Nuck: you shoudl /nick nih [05:37] isaacs: ;P [05:37] Jaye: if i try to do make install from the npm repo i get "cannot remove file /var, already exists" [05:38] Jaye: works fine on node 0.3.7 [05:38] Nuck: isaacs: wat [05:38] Nuck: isaacs: Why would I change my nick? [05:38] isaacs: Jaye: can you gist the whole output from the command you wrote to the point where it failed? [05:38] isaacs: Nuck: nih = not invented here [05:38] Nuck: I'm no IRC n00b. [05:38] Nuck: OIC [05:38] Jaye: yeah, sec ill have to reinstall 0.3.8 [05:38] isaacs: Hence the ;P [05:38] isaacs: twas jokin with you [05:38] Nuck: Anyways, my thing consists of a bunch of functions which return ANSI codes for things like moving the cursor, and then a few objects with colors and such [05:39] isaacs: neat [05:39] isaacs: a bit like ncurses, but in js? [05:39] Nuck: So I can just stick c.fg.purple inline [05:39] andrewfff has joined the channel [05:39] Nuck: isaacs: Not as powerful [05:39] isaacs: kewl. [05:39] Nuck: The best thing I coded for console was a simple progress bar lol [05:39] Nuck: And even that had numerous kludges [05:39] aurynn has joined the channel [05:40] mscdex: ncurses! [05:40] isaacs: foiled again! [05:41] patrickarlt has joined the channel [05:42] prettyrobots has joined the channel [05:42] mscdex: ryah: any chance of seeing dup/dup2 methods in node sometime? [05:43] Nuck: I must say NodeJS is godly. [05:45] micheil: mscdex: hmm.. [05:45] warz has joined the channel [05:45] micheil: mscdex: dup2 could easily be added [05:46] micheil: but dup would need eio_custom [05:47] mscdex: well, they sure would be handy to have available... [05:47] mscdex: like when wanting to pipe data into an ncurses app :p [05:48] mheld has left the channel [05:48] micheil: in fact, I could probably upstream a patch to libeio for dup [05:48] andrewfff has joined the channel [05:49] ezmobius has joined the channel [05:52] astoon has joined the channel [05:53] Nuck: How does this even make sense: "(s <= '\x1a')" [05:54] Nuck: That's a less-than-or-equal-to, with a string. :V [05:54] Nuck: I'm assuming something with a char code? [05:54] zzak: v8: ("me" <= "you") [05:54] v8bot: zzak: true [05:55] Nuck: wat [05:55] Nuck: How can you compare strings like that :/ [05:55] ezmobius has joined the channel [05:55] warz: hrm. [05:56] kawaz_work has joined the channel [05:56] SvenDowideit has joined the channel [05:56] Nuck: If I tried to ask my high school math teacher whether "zebra" was less than "llama", he'd slap me. [05:57] zzak: v8: ("me" === "you") [05:57] v8bot: zzak: false [05:57] Nuck: v8: ("me" === "m") [05:57] v8bot: Nuck: false [05:57] zzak: v8: ("me" == "you") [05:57] v8bot: zzak: false [05:57] Nuck: :V [05:57] zzak: string literals [05:57] Nuck: I'm still confused how it calculates the results lol [05:57] zzak: theyre just objects, no? so they should share common operators? [05:57] Lorentz: What's with the === [05:58] Nuck: Lorentz: Strict equals. No type coercian [05:58] Lorentz: Thought only PHP had that. [05:58] Nuck: I'm pretty sure it's the same in JS, though I've never really used it. But it makes sense that JS has it. [05:59] hassox has joined the channel [05:59] mscdex: Nuck: it compares the strings character by character, their character codes [05:59] Nuck: mscdex: ah, that's interesting. [05:59] Nuck: So that'd be like s.charCodeAt(0) <= '\x1a'.charCodeAt(0) [06:00] chriso has joined the channel [06:00] Nuck: That makes more sense XD [06:00] mscdex: well, unless the first character from each are the same, then it tries the next character... [06:00] zzak: v8: (String.new("me") === String.new("you")) [06:00] v8bot: zzak: TypeError: Object function String() { [native code] } has no method 'new' [06:00] Nuck: Oh, I see [06:00] micheil: mscdex: there is an issue however with dup() fildes & events [06:00] micheil: affects epoll [06:00] zzak: v8: (String("me") === String("you")) [06:00] v8bot: zzak: false [06:00] mscdex: micheil: :S [06:01] micheil: ryah: would you accept a patch to add support for dup2; and would you like support for dup [06:01] micheil: ? [06:01] mscdex: the answer is yes [06:01] mscdex: :-D [06:02] Nuck: Uggh, I'm just gonna use char codes beyond this lol [06:02] mscdex: Nuck: what's the problem? [06:02] Nuck: Too much complexity, I'll just calculate me a list (or find one, since I'm sure they exist) of all these char codes [06:02] Nuck: mscdex: Reinventing the wheel. In this case, the wheel is refering to TTY. [06:02] nodejs has joined the channel [06:03] nodejs has left the channel [06:03] Nuck: I'm not gonna worry about PuTTY and such, since I don't think the 0.3.1 tag is even around any more XP [06:03] Nuck: So I can cut out a lot of chars in the listing [06:04] mscdex: Nuck: why would you want a list of character codes? [06:04] Nuck: Hmmm, I may just use an object for this instead [06:04] chriso has joined the channel [06:04] Nuck: Then I just look up the char code in the object [06:04] HP has joined the channel [06:04] HP: yo [06:05] HP: Building a mission-critical pacemaker in node.js [06:05] Nuck: I've got a hunch that would be a tad more efficient than running the character through some RegExp, a long-ass chain of conditional statements, etc. [06:05] Nuck: ... miksago... [06:05] Nuck: As in... [06:05] Lorentz: HP: Are you serious [06:05] HP: How do I export a function in my module? [06:05] HP: Lorentz: of course not lol [06:05] HP: But just asking a dumb question would be less interesting ;p [06:06] Lorentz: Something like "exports.functionName = function(arg) { }" ? [06:06] chriso has left the channel [06:06] mscdex: if (bpm < 0) doctor(); [06:06] HP: Is it: export.beat() so I can do heart.beat() from the module? [06:06] Nuck: Holy shit. I've HEARD of miksago. [06:06] Nuck: Dude, that guy is a hero on deviantART's dev community. [06:06] HP: I'm reminded of Madonna's song Like a Virgin. :D [06:07] chriso has joined the channel [06:07] mscdex: HP: in module: exports.beat = function() {}; [06:07] mscdex: HP: in main: require('pacemaker').beat(); [06:08] HP: Okay cool :) [06:08] HP: thnx mscdex [06:08] jimt has joined the channel [06:08] HP: Btw, can anyone recommend a really good postgres module? [06:08] Jamool has joined the channel [06:08] Jamool: hello? [06:09] HP: Jamool: sup nodist :) [06:09] Jamool: hey got a question [06:10] HP: shoot [06:10] Jamool: can i get something i made in node to run off my laptop? like host it for a demo? [06:10] Jamool: using os x web sharing or something [06:10] HP: Yes, just build and install node on your laptop [06:10] Jamool: or do i actually need to get it hosted [06:11] mscdex: Jamool: what do you run on the laptop? [06:11] Utkarsh_ has joined the channel [06:12] skm has joined the channel [06:12] Jamool: like os? [06:12] chris6F has left the channel [06:12] mscdex: yeah [06:12] Jamool: os x [06:12] JohnnyL: what's a good resource for the actor model using node.js? [06:13] mscdex: Jamool: you should be able to install node then [06:13] Jamool: i got it installed already [06:13] Jamool: made some random thing [06:13] brianc: HP: node-postgres [06:13] ryah: anyone played around with live edit ? [06:13] HP: brianc: On github right? [06:13] chris6F has joined the channel [06:13] brianc: HP: npm install pg [06:14] Jamool: now i want to get it on a website hosted by my comp and then give it to my class mates to get on [06:14] HP: oh [06:14] Jamool: to test it out [06:14] brianc: HP: it's also on github, yes [06:14] HP: brianc: So pg in npm is node-postgres? [06:14] HP: cool [06:14] HP: ACTION did try npm's pg [06:14] mjr_ has joined the channel [06:15] brianc: HP: the npm package for the node-postgres project is called 'pg' because 'postgres' was taken and it's discouraged to include the words 'node' or 'javascript' in a package which by it's very nature is both for node and written in javascript. :) [06:15] HP: haha true :) [06:16] zzak: theres a fork of creationix's postgres-js repo thats fairly active [06:16] Solsys has joined the channel [06:16] brianc: zzak: I suppose so, not very well tested imo [06:16] zzak: but i think node-postgres is preferred [06:17] Lorentz: Hmm, npm does get some namespace issues, huh. [06:17] Lorentz: Package names being already taken and whatnot. [06:17] brianc: zzak: i could potentially be biased since I wrote the other one, but I did it stricktly TDD [06:17] brianc: zzak: I am good at spelling. [06:17] jimt_ has joined the channel [06:17] zzak: brianc++ [06:17] HP: brianc: Would you use node-postgres in production? [06:17] v8bot: zzak has given a beer to brianc. brianc now has 1 beers. [06:18] brianc: score! [06:19] zzak: good docs too :) [06:19] zzak: brianc++ [06:19] v8bot: zzak has given a beer to brianc. brianc now has 2 beers. [06:21] tilgovi has joined the channel [06:22] brianc: zzak: thank you sir! [06:23] zzak: cheers [06:23] brianc: zzak: they're still a work in progress...I need to work on including more code samples. Lots of times people have questions and I answer them in messages but don't follow up and post the answer to the wiki [06:24] zzak: turn them into issues [06:24] zzak: you could even first class the .wiki repo and add the issues there i believe [06:25] brianc: ah nice [06:25] amerine has joined the channel [06:26] jimt has joined the channel [06:29] JohnnyL has left the channel [06:29] chris6F has left the channel [06:32] Vertice has joined the channel [06:34] jimt has joined the channel [06:39] jimt_ has joined the channel [06:39] ajcates has joined the channel [06:41] andrewfff has joined the channel [06:43] gg411 has joined the channel [06:45] Jaye has joined the channel [06:46] MikeMakesIt has joined the channel [06:47] jimt has joined the channel [06:51] peol has joined the channel [06:52] jimt_ has joined the channel [07:02] jimt has joined the channel [07:03] astoon has joined the channel [07:06] Marnixvdb has joined the channel [07:06] mraleph has joined the channel [07:07] jimt has joined the channel [07:08] AAA_awright: I wish V8 could back up execution while debugging... Even if not before system calls [07:09] ericnakagawa has joined the channel [07:16] Utkarsh has joined the channel [07:16] AAA_awright: Is there some way to set a break point in the code? [07:16] AAA_awright: "debugger" doesn't seem to work anymore, as of ... 0.4.0-pre? [07:17] Yuffster_work has joined the channel [07:17] mikeal has joined the channel [07:17] iszak: SIGH [07:17] iszak: AAA_awright, you understand that -pre is likely to be buggy? [07:17] muhqu has joined the channel [07:17] AAA_awright: iszak: Same thing as of 0.3.7 and .8 [07:17] iszak: people can't expect to checkout the trunk and expect things to work [07:17] iszak: 0.3.x is an unstable branch [07:18] iszak: 0.2.x is stable [07:18] iszak: try 0.2.x then get back to us [07:18] AAA_awright: And in any event, that's no excuse, need to be worked out as quickly as possible [07:18] iszak: well test in 0.2.x if it works as expected, then yes there may be a bug, get feedback from the channel. [07:19] AAA_awright: iszak: Some of us actually do Node.js development mmk? We can't be expected to live in the stone ages and not ever add features to master [07:19] iszak: if you use it for development use 0.2.x [07:19] iszak: it is marked as /stable/, 0.3.x is not stable, trunk certainly isn't stable. [07:19] iszak: So if you want to use it for development use 0.2.x [07:19] AAA_awright: iszak: Is trunk some branch I'm not aware of/ [07:19] AAA_awright: ? [07:20] iszak: trunk => from git [07:20] AAA_awright: The master branch [07:20] iszak: aka trunk [07:20] iszak: I'm a SVN-er [07:20] AAA_awright: iszak: I'm talking about development on Node.js itself, if no one uses master how can we be expected to develop it further [07:20] AAA_awright: iszak: In any event, "debugger;" doesn't even exist before 0.3.5 [07:21] iszak: most people don't use the latest build of the "master". [07:21] iszak: it's deemed unstable, has possible API change. [07:21] jimt has joined the channel [07:21] blaines has joined the channel [07:22] iszak: If you want to use Node.js in production you should use 0.2.x for now until 0.4.x becomes stable. [07:22] AAA_awright: iszak: The whole point of me working on master is to iron out bugs as they are introduced to be ready for software when it becomes the stable branch a year from now, my unstable branch, the master branch, uses Node.js's unstable branch for that reason [07:23] iszak: sure, if you feel it's a bug in node.js paste it in the channel, get people to reproduce it and then submit an issue. [07:23] SubStack: but then you will just have to rewrite all your code in a couple weeks to use 0.4.x when it comes out [07:23] iszak: SubStack, you make it sound worse than it really is [07:23] AAA_awright: SubStack: Appearently master already is 0.4 [07:23] iszak: it's a pre-release though [07:24] AAA_awright: er, pre-0.4 [07:24] iszak: last time I checked too, the commit that made it 0.4.0-pre was merely a change of version numbers, no new features or anything. [07:24] SubStack: hah well that's because I had to port over some c++ buffer stuff [07:24] SubStack: :p [07:24] andrewfff has joined the channel [07:28] rjnienaber has joined the channel [07:29] AAA_awright: I was hoping the debugger didn't need to be attached at the moment and --debug would be enough to cause a break [07:30] AAA_awright: Actually maybe --debug-brk would work instead, then just resume playback when I attach [07:30] neshaug has joined the channel [07:34] ericnakagawa has joined the channel [07:34] sholmes has joined the channel [07:34] sholmes: hey guys [07:37] ph^ has joined the channel [07:38] brianc: hey sholmes [07:38] FireFly|n900 has joined the channel [07:38] FireFly|n900 has joined the channel [07:38] sholmes: brianc, what's new with Node.js? [07:39] mscdex: everything! [07:42] kawaz_work has joined the channel [07:47] Astro has joined the channel [07:51] andrewfff has joined the channel [07:53] jimt has joined the channel [07:54] sholmes: mscdex, cool [08:00] mscdex: :p [08:00] jimt_ has joined the channel [08:02] svenlito has joined the channel [08:05] jimt has joined the channel [08:06] ezmobius has joined the channel [08:07] sholmes: going to bed [08:07] sholmes: later [08:07] jbpros has joined the channel [08:07] lumino has joined the channel [08:08] maritz has joined the channel [08:13] arnorhs has joined the channel [08:13] claudio has joined the channel [08:14] jimt has joined the channel [08:15] hwinkel has joined the channel [08:16] torvalamo has joined the channel [08:18] SamuraiJack has joined the channel [08:19] yozgrahame has joined the channel [08:22] teemow has joined the channel [08:22] janm has joined the channel [08:22] mikedeboer has joined the channel [08:24] jimt_ has joined the channel [08:24] swistak has joined the channel [08:24] CIA-99: node: Ryan Dahl reload * r0da96cc / doc/api/http.markdown : typo - http://bit.ly/hOoITk [08:24] CIA-99: node: Mikeal Rogers reload * r2b03ba5 / (lib/http.js lib/https.js): http: agent takes options instead of host, port pair - http://bit.ly/g4Nwog [08:24] CIA-99: node: Ryan Dahl reload * rca4ab71 / (lib/module.js src/node.cc src/node.js): reload test - http://bit.ly/h0Mnhw [08:24] CIA-99: node: Ryan Dahl reload * rd63fb23 / lib/module.js : ... - http://bit.ly/dWCW3x [08:26] beawesomeinstead has joined the channel [08:27] mikeal has joined the channel [08:28] Utkarsh has joined the channel [08:29] jimt has joined the channel [08:29] syntheze has joined the channel [08:30] daniel_karlsson has joined the channel [08:31] stephank has joined the channel [08:34] ilpoldo has joined the channel [08:35] snearch has joined the channel [08:37] [AD]Turbo has joined the channel [08:37] [AD]Turbo: hi there [08:37] luke` has joined the channel [08:38] superjudge has joined the channel [08:39] jimt_ has joined the channel [08:39] chapel: hola [08:40] mscdex: greetings earthling [08:43] chapel: whats up? [08:43] clarkfischer has joined the channel [08:45] svenlito has joined the channel [08:45] kristsk has joined the channel [08:45] mscdex: working on a full featured pdf creation module [08:45] mscdex: :> [08:46] chapel: cool [08:46] MikhX has joined the channel [08:46] Alfie-- has joined the channel [08:46] jimt has joined the channel [08:47] zentoooo has joined the channel [08:48] andrewfff has joined the channel [08:48] ROBOd has joined the channel [08:49] ivanfi has joined the channel [08:51] ROBOd_ has joined the channel [08:52] Druid_ has joined the channel [08:53] nook has joined the channel [08:58] jimt_ has joined the channel [08:59] mischief has joined the channel [08:59] tanepiper: mscdex: sweet! [09:00] astoon has joined the channel [09:02] adambeynon has joined the channel [09:04] mischief has joined the channel [09:04] Adman65 has joined the channel [09:05] Adman65: yo guys [09:05] mischief has joined the channel [09:08] prettyrobots has joined the channel [09:08] jetienne has joined the channel [09:10] mscdex: yo [09:15] arnorhs: yo [09:15] chapel: yo [09:16] jetienne: yo [09:17] kubrow has joined the channel [09:20] floby has joined the channel [09:22] pdelgallego has joined the channel [09:25] thrumins: yo [09:27] floby has left the channel [09:27] hwinkel has joined the channel [09:28] caolanm has joined the channel [09:29] mraleph has joined the channel [09:31] fly-away has joined the channel [09:31] superjudge_ has joined the channel [09:37] adambeynon has joined the channel [09:42] dominictarr has joined the channel [09:44] tanepiper has joined the channel [09:49] adambeynon has joined the channel [09:55] xla has joined the channel [09:56] Blink7 has joined the channel [09:57] bzinger has joined the channel [10:06] pomodoro has joined the channel [10:11] floby has joined the channel [10:12] aurynn has joined the channel [10:12] matjas has joined the channel [10:12] floby has left the channel [10:28] aurynn has joined the channel [10:29] markwubben has joined the channel [10:40] dsirijus has joined the channel [10:40] chrisfrog has joined the channel [10:40] chrisfrog: hey [10:41] kristsk has joined the channel [10:41] chrisfrog: I need to write a https server, where would the best place be to start this project? [10:42] kristsk` has joined the channel [10:43] astoon has joined the channel [10:59] aurynn has joined the channel [10:59] mape: chrisfrog: the hello world example? [10:59] mape: oh, s [10:59] mape: the docs [10:59] mape: chrisfrog: http://nodejs.org/docs/v0.3.8/api/all.html#https.Server [11:04] boaz has joined the channel [11:07] ilpoldo has joined the channel [11:09] skohorn has joined the channel [11:10] stephank has joined the channel [11:24] Utkarsh_ has joined the channel [11:30] mraleph: ryah: is there any chance that you are not sleeping? [11:31] floby has joined the channel [11:34] fermion has joined the channel [11:35] floby has left the channel [11:36] adambeynon has joined the channel [11:38] pietern has joined the channel [11:40] d0k has joined the channel [11:48] ivanfi has joined the channel [11:52] fly-away has joined the channel [11:53] sth: zomgroflbbq [11:56] superjudge has joined the channel [11:58] hobodave has joined the channel [11:58] hobodave has joined the channel [12:00] jpstrikesback has joined the channel [12:01] hobodave_ has joined the channel [12:06] SubStack: hooray now node-binary can scan for other buffers [12:06] SubStack: so I can hunt for \r\n in this ssh protocol stuff [12:07] SubStack: oh right and I should add a scan() for .parse() too, it only works for streams right now [12:09] vyvea has joined the channel [12:10] chrischris has joined the channel [12:11] hellp has joined the channel [12:12] zorzar has joined the channel [12:14] astoon has joined the channel [12:15] piscisaureus has joined the channel [12:18] eee_c has joined the channel [12:20] tsangpo has joined the channel [12:26] ziro` has joined the channel [12:28] janm has joined the channel [12:30] opengeard has joined the channel [12:34] Bioxyde has joined the channel [12:35] jpstrikesback has joined the channel [12:35] astoon has joined the channel [12:41] agnat has joined the channel [12:43] unomi has joined the channel [12:45] tc77 has joined the channel [12:46] kal-EL_ has joined the channel [12:47] lukegalea has joined the channel [12:51] _olouv_ has joined the channel [12:52] _olouv_: Hey, i'm having issues with cygwin setup : i get this error "Build failed: -> task failed (err #2): {task: libv8.a SConstruct -> libv8.a}" but "export SHELL=/bin/bash" did not solve it, any ideas ? [12:54] _olouv_: hum, maybe i should restart (i did not after rebaseall). [12:56] astoon has joined the channel [12:57] garrensmith has joined the channel [12:57] olouv has joined the channel [12:57] olouv: restart did not solve it :(. [12:57] garrensmith: morning all [12:58] olouv: Here is a gist of make error (i do have $SHELL = /bin/bash) : https://gist.github.com/814321 [12:59] kristsk has joined the channel [12:59] olouv: Looks like env['os'] is not set. [13:01] Bonuspunkt has joined the channel [13:01] MattDiPasquale has joined the channel [13:01] shiawuen has joined the channel [13:02] shiawuen1 has joined the channel [13:02] vjousse has joined the channel [13:03] garrensmith: who uses iterm2? [13:06] altamic has joined the channel [13:07] MattDiPasquale has joined the channel [13:16] jano has joined the channel [13:19] ianward has joined the channel [13:19] Vertice has joined the channel [13:20] cognominal has joined the channel [13:20] astoon has joined the channel [13:22] okuryu has joined the channel [13:24] julienXX: garrensmith: I do [13:24] Bioxyde has joined the channel [13:27] charlenopires has joined the channel [13:27] garrensmith: julienXX: cool how often is it updated? [13:27] Bioxyde has left the channel [13:27] Bioxyde has joined the channel [13:28] julienXX: garrensmith: once or twice a month [13:28] garrensmith: julienXX: how is the best way to keep up to date just check the google code page? [13:28] brian_irish has joined the channel [13:29] shripadk has joined the channel [13:30] julienXX: garrensmith: you can directly check for update in the menu (at least in latest alpha) [13:30] garrensmith: julienXX: oh I see awesome thanks [13:31] julienXX: garrensmith: :) [13:31] shripadk: has anyone tried socket.io cross domain? it doesn't work with any version of IE. is there a workaround for this? [13:31] devrim has joined the channel [13:31] awenkhh has joined the channel [13:34] bradleymeck has joined the channel [13:38] dominictarr has joined the channel [13:39] Bioxyde has left the channel [13:42] tsangpo has left the channel [13:43] garrensmith: shripadk: I would imagine thats a bit of a security risk, does it work with other browsers? [13:43] shripadk: yeah it does [13:43] shripadk: it works with all browsers except opera and IE [13:44] aro has joined the channel [13:44] aro: is there a socket.io help area? [13:49] altamic has joined the channel [13:49] altamic has joined the channel [13:50] fairwinds has joined the channel [13:52] torg_ has joined the channel [13:54] vjousse has left the channel [13:55] julienXX: In this Gist https://gist.github.com/814383 I'm trying to catch a SIGINT and wait for the child processes to finish but so far no luck, it closes the poller before the childs finish their task. Any advice on how I could do that? [13:58] Marnixvdb has joined the channel [14:05] jetheredge has joined the channel [14:07] arnorhs has joined the channel [14:07] nonnikcam has joined the channel [14:12] jlecker has joined the channel [14:17] trotter has joined the channel [14:17] astoon has joined the channel [14:17] Iszak has joined the channel [14:17] Iszak has joined the channel [14:18] fumanchu182 has joined the channel [14:18] davidsklar has joined the channel [14:19] Poetro has joined the channel [14:21] beawesomeinstead has joined the channel [14:22] xandrews has joined the channel [14:24] mikedeboer has joined the channel [14:25] Ari-Ugwu has joined the channel [14:26] colinclark has joined the channel [14:33] ajcates has joined the channel [14:33] mpoz2 has joined the channel [14:35] pdelgallego_ has joined the channel [14:39] peol has joined the channel [14:43] jprescottsanders has joined the channel [14:43] stepheneb has joined the channel [14:44] erwe has joined the channel [14:44] erwe: hi [14:44] amacleod has joined the channel [14:45] jherdman has joined the channel [14:46] aabt has joined the channel [14:46] Jonasbn_ has joined the channel [14:46] bshumate has joined the channel [14:46] bshumate has joined the channel [14:48] davglass has joined the channel [14:48] voodootikigod: i do [14:49] hswe has joined the channel [14:50] ceej has joined the channel [14:50] Ori_P has joined the channel [14:54] hij1nx has joined the channel [14:55] altamic has joined the channel [14:56] eee_c has joined the channel [14:56] pauls has joined the channel [14:57] jchris has joined the channel [14:59] b_erb has joined the channel [14:59] b_erb: are there any ways now to retrieve different http.Agents for the same host? [15:00] herbySk has joined the channel [15:01] zomgbie has joined the channel [15:05] devrim has joined the channel [15:05] bradleymeck has joined the channel [15:06] Me1000 has joined the channel [15:06] FireFly has joined the channel [15:07] erwe: mongodb-node-native or mongoose? [15:07] syntheze has joined the channel [15:07] FireFly|n900 has joined the channel [15:08] NuckingFuts has joined the channel [15:08] syntheze has joined the channel [15:08] Nuck: lol mIRC was hiding :P [15:09] vilhonen has joined the channel [15:09] vilhonen: is there rxjs for node.js? [15:09] vilhonen: or some similar reactive programming library? [15:10] vilhonen: npm didn't give me anything with a search for reactive or rxjs [15:11] trotter_ has joined the channel [15:11] vilhonen: managing errors and stuff gets out of control very quickly without some higher level constructs [15:12] bradleymeck: ACTION is reading about rxjs to see [15:12] danoyoung has left the channel [15:12] Nuck: bradleymeck: Good to know I'm not alone in my lack of knowledge on this subject XP [15:13] jchris has joined the channel [15:13] patrickarlt has joined the channel [15:13] vilhonen: rxjs can be used without modifications probably with node.js but it would be nice to have some supporting glue [15:13] vilhonen: there's a mention of the support library here but the link is broken :F http://blogs.msdn.com/b/jeffva/archive/2010/04/14/node-js-bindings-for-rxjs.aspx [15:14] bartmax has joined the channel [15:14] bartmax has joined the channel [15:15] BillyBreen has joined the channel [15:15] bradleymeck: vilhonen, in short no massively used module is there to replace rx, in long : look into promise based libraries for similar features from what im reading [15:16] jakehow has joined the channel [15:16] Nuck: ... [15:17] bradleymeck: nuck? [15:17] devrim has joined the channel [15:18] arpegius has joined the channel [15:19] jano has joined the channel [15:19] devdazed has joined the channel [15:19] vilhonen: bradleymeck: promises seems to be a stripped down version of rxjs [15:19] Nuck: What the hell, somebody stole mah name on here! but lol nickserv hasn't done shit :P [15:20] vilhonen: rxjs is the most awesome thing for reactive programming but the license and vendor are retarded [15:20] sth: Nuck: ghost them [15:20] bradleymeck: vilhonen, im not sure stripped down is the right word, they are slightly different if im reading this right [15:20] q_no has joined the channel [15:20] Nuck: sth: Can't, they registered in nickserv [15:20] sth: that's your fault then [15:20] jacobolus has joined the channel [15:21] Nuck: sth: I'm registered on 5 other IRC network's nickserv, and half the internet knows me as nuck. Can you blame me for using this name? [15:21] Nuck: 07:18] -NickServ- Last addr : ~number6@zoidberg.geoghegan.me [15:21] Nuck: [07:18] -NickServ- Last seen : Dec 17 09:15:58 2009 (1 year, 7 weeks, 3 days, 06:02:47 ago) [15:21] vilhonen: bradleymeck: they try to solve the same problem almost identical way [15:21] Nuck: I'd think they clear out the db after a year lol [15:22] vilsonvieira has joined the channel [15:23] Nuck: damn, I ought to try and contact the previous owner, see if I can get them to release :P [15:24] bradleymeck: vilhonen true, but the way they handle errors and the way that rx handles some iteration seems different. If you want a full promise based library Kris Zyp would know more than i [15:24] willwhite has joined the channel [15:24] Utkarsh has joined the channel [15:25] paulrobinson has joined the channel [15:25] sth: Nuck: you can ask an IRC op to release it [15:26] Nuck: sth: Yeah, that's prolly what I'll end up doing. I like this chat, so I intend to stay here (and sign up for Node [15:26] Nuck: 's mailing list [15:26] paulrobinson has left the channel [15:27] erwe: hey how do i check when the nickname was used the last time Nuck ? [15:27] Nuck: And I'm not staying on an IRC network without NickServ [15:27] Nuck: erwe /msg NickServ INFO [15:29] erwe: damnit he still uses it [15:29] Nuck: lol [15:29] Nuck: I'm gonna see if I can't track down an IRC Op [15:29] mhausenblas has joined the channel [15:29] sth: #help is a good start [15:30] erwe: should i kill him and take possesion of my nick? [15:30] erwe: =( [15:30] Nuck: Wow, this chat network is poulated entirely by geeks and coders, I think. Just judging by the channel list. [15:30] Nuck: erwe: Ghost? [15:31] erwe: i don't know his password lol [15:31] erwe: he registered it first [15:31] Nuck: ah [15:31] erwe: i got this hitting randon keys :) [15:31] erwe: *this nick [15:32] ceej_ has joined the channel [15:32] Bioxyde has joined the channel [15:33] Bioxyde has left the channel [15:34] herbySk has joined the channel [15:35] bradleymeck has joined the channel [15:36] altamic has joined the channel [15:36] altamic has joined the channel [15:37] malkomalko has joined the channel [15:37] jakehow has joined the channel [15:38] jeromegn: anybody familiar with mongoose (>= 1.0) and using embedded documents? Getting a very unusual error! [15:38] pauls: which err [15:38] pauls: s that? [15:38] dingomanatee has joined the channel [15:39] yhahn has joined the channel [15:39] plusgut has joined the channel [15:40] wlarsen has joined the channel [15:40] softdrink has joined the channel [15:40] wlarsen has left the channel [15:41] wvl has joined the channel [15:42] wilmoore has joined the channel [15:42] jeromegn: pauls: basically it's when I try to push my embedded documents into my document. I get some getter/setter error... I reported it here: https://github.com/learnboost/mongoose/issues#issue/230 (not sure why I wrote a test case, it was late haha) [15:46] jacobolus has joined the channel [15:47] Lorentz has joined the channel [15:47] linopolus has joined the channel [15:47] linopolus: Hi [15:47] luke` has joined the channel [15:48] linopolus: I want to get started with node.js. I have a bit experience(not that much) with rails, nothing else web related. Where should I start? [15:48] pauls: i'm actually only familiar with mongoose < 1... but looking over your code it looks like you might be pushing an array of objects to the embeds array... -- unless i'm missing some feature of push whereby you can give it an array and it'll push the array's elements.. have you tried only pushing the objects one at a time? [15:48] pauls: that was to jeromegn btw [15:49] malkomal_ has joined the channel [15:49] b_erb has joined the channel [15:49] bwinton: linopolus: I've found http://camp.nodejs.org/videos/ to be pretty easy to follow, and quite inspiring… [15:49] jeromegn: pauls: yes. I read the code, it checks for a length to the passed object and will do a $pushAll if that's the case. Also tried with that function directly, no cigar. [15:49] jeromegn: thanks for helping :) [15:49] pauls: arg [15:50] wao has joined the channel [15:50] bwinton: linopolus: You could also search http://dailyjs.com/tags.html for "Node Tutorial Part " [15:51] losing has joined the channel [15:54] erwe: best interface for mongodb? [15:54] jtsnow has joined the channel [15:54] yorick has joined the channel [15:55] jacobolus has joined the channel [15:55] yorick: hmm I have an object that might theoretically be indexed by binary data [15:55] yorick: should I use the base64 repr of that data? [15:56] awenkhh has joined the channel [15:56] figital has joined the channel [15:58] awenkhh has joined the channel [15:58] yhahn has left the channel [15:59] dmcquay has joined the channel [16:00] jpstrikesback: anyone know offhand a good blog post on why / whynot to use methodOverride in Express to add RESTful capabilities? [16:02] chapel: jpstrikesback: it is only for forms as far as I can see [16:02] bradleymeck: yorick you could do that but if the string representation is unique as utf8 (should be) you dont have to [16:02] chapel: you can use app.put app.del normally if the client supports them [16:03] tk has joined the channel [16:03] chapel: http://expressjs.com/guide.html#HTTP-Methods << read down to the put part [16:03] chapel: explains [16:03] yorick: bradleymeck: my data isn't neccesarily utf8 [16:04] bradleymeck: doesnt have to be [16:04] bradleymeck: keys in js are strings with utf8 compatibility, which should cover all your cases [16:04] jpstrikesback: chapel: thanks! [16:05] mr_daniel has joined the channel [16:05] mattly has joined the channel [16:05] stepheneb has joined the channel [16:06] yorick: bradleymeck: so what if the data is invalid utf8 [16:06] bradleymeck: i dont think you can get invalid utf8 representation of binary it just wont come out to characters [16:07] colinclark has joined the channel [16:07] EyePulp has joined the channel [16:08] void_ has joined the channel [16:08] yorick: bradleymeck: The Unicode Standard requires decoders to "...treat any ill-formed code unit sequence as an error condition. This guarantees that it will neither interpret nor emit an ill-formed code unit sequence." [16:09] bradleymeck: yorick ive never seen v8 spew errors when i give it really long binary octets so idk if that is true, but you can just use base64 to be safe anyway [16:09] dingomanatee: erwe - are you talking IDEs? [16:09] erwe: no [16:10] erwe: drivers [16:10] erwe: like mongoose [16:10] dingomanatee: oh. you mean ORMs. [16:10] yorick: bradleymeck: it doesn't spew errors, but it might try to replace it with something else [16:10] dingomanatee: I don't currently use Mongoose - the ORMs are not that mature, I use mongodb-native [16:11] dingomanatee: http://www.wonderlandlabs.com/wll_drupal/os/node/mongodb.html is my blog on that [16:11] bradleymeck: maybe but i would still expect encoding errors to be more common when im throwing around zip files [16:11] warz has joined the channel [16:11] dingomanatee: However most node code gets you pretty close to the bone. I will post up a cross-repository list of the latest ORMs for node soon. [16:12] tjholowaychuk has joined the channel [16:12] dingomanatee: off to work! lates. [16:14] coffeecup: is it possible to abort a client request? for example if an uploaded file is too large, i would like to abort the upload and send my response instead of waiting for the upload to finish and tell the user that the file was too large [16:16] EyePulp: are any of the mongoose devs on? [16:16] herbySk has joined the channel [16:18] dnyy has joined the channel [16:18] devdazed: coffeecup: you could check the content length of the request [16:19] springmeyer has joined the channel [16:20] eresair has joined the channel [16:20] bradleymeck: coffeecup: if(length > maxLength) { req.socket.close(); res.writeHead(...); res.end(...); } [16:20] erwe has joined the channel [16:21] daniellindsley has joined the channel [16:21] siong1987 has joined the channel [16:24] akahn has joined the channel [16:25] mikeal has joined the channel [16:25] devrim has joined the channel [16:26] Ori_P has joined the channel [16:28] lukegalea: EyePulp: I'm not a mongoose dev, but I 've done a fair amount of work with it. [16:28] lukegalea: Maybe I can help? [16:28] jasonkuhrt has joined the channel [16:28] lukegalea: as a user at least.. [16:28] jasonkuhrt: I'm having a problem install node through brew, it hangs on make install [16:28] jasonkuhrt: anyone had this experience? [16:28] EyePulp: lukegalea: it's a recent issue - the $nin filter on a .find() no longer works right. $in does, but not $nin [16:29] lukegalea: aah. are you running 1.0.7 that was just released? [16:29] EyePulp: lukegalea: I'm hoping it's something dumb I'm doing [16:29] EyePulp: lukegalea: yessir [16:29] lukegalea: EyePulp: darn, I don't have any $nin [16:29] EyePulp: I typically run off trunk... er default [16:29] lukegalea: in my app, so i can't confirm.. [16:30] lukegalea: master [16:30] lukegalea: :) [16:30] EyePulp: scm naming conventions are fun [16:30] lukegalea: EyePulp: I've had a bit of success with that stuff by going in and seeing what the actual mongo query that [16:30] lukegalea: ACTION ' [16:30] lukegalea: that's being generated is. [16:31] lukegalea: We should really make mongoose debug that out similar to ActiveRecord.. [16:31] EyePulp: lukegalea: what's the method for doing that? [16:31] lukegalea: one sec. There's no magic way I know of.. I've been tossing console logs into my vendored copy of mongoose. Lemme give you the location.. [16:32] EyePulp: th error is "$nin needs an array" which is a mongodb specific error - though if I run my command in mongo CLI it works fine. [16:33] lukegalea: EyePulp: lib/mongoose/query.js [16:33] lukegalea: actually run's the query. [16:33] bradleymeck has joined the channel [16:33] lukegalea: you can hack into the run function if you want to do some logging there. [16:34] EyePulp: lukegalea: gotcha - cool [16:35] lukegalea: admittedly I can never fix anything in mongoose myself, but if you can at least log a bug report with the specific query it's generating versus what it should be, they have often fixed it within hours for me. [16:35] mikeal has joined the channel [16:35] Nomon: I just start my mongod in dev with --diaglog 7 --profile 2 -vvvv and I get pretty much all the info I ever need. [16:35] Nomon: all the queries etc [16:35] lukegalea: Nomon: aah. sweet. [16:36] EyePulp: Nomon: ooh - [16:36] lukegalea: I'll file that one away. [16:36] Nomon: or was it diaglog 3 [16:37] broofa has joined the channel [16:39] altamic has joined the channel [16:39] altamic has joined the channel [16:41] tmpvar has joined the channel [16:42] jakehow has joined the channel [16:43] strmpnk has joined the channel [16:46] Kingdutch has joined the channel [16:48] mike5w3c has joined the channel [16:48] mpoz2 has joined the channel [16:48] arpegius has joined the channel [16:51] selead has joined the channel [16:52] hornairs has joined the channel [16:53] broofa has joined the channel [16:53] softdrink has left the channel [16:54] maushu has joined the channel [16:54] maushu: I wonder what is the performance between C# and node.js [16:54] lukegalea_ has joined the channel [16:55] kloeri has joined the channel [16:55] briznad has joined the channel [16:56] mraleph: maushu: what is performance between apple and orange? [16:57] NuckingFuts: maushu: I've coded a chatbot in Node.JS, and somebody else has made one for the same site (deviantART chat) in C#. My bot consistently outperforms the PHP bots on the site, and comes damn close to the speed of the C# bot. [16:57] maushu: Hmm. [16:57] NuckingFuts: So I would say that as far as speeds go, NodeJS can give C# a run for it's money. [16:57] mape: Speed as in what? [16:57] mraleph: ACTION sighs [16:58] bradleymeck: lol, poor mraleph [16:58] maushu: I will turn this orange into an apple. [16:58] NuckingFuts: Response times when under load [16:58] NuckingFuts: Specifically, we have a bot on there, which logs onto 200 accounts, and has them all join a room with the bot, and spam messages with the maximum length the server allows. [16:58] dguttman has joined the channel [16:59] JojoTheBoss has joined the channel [16:59] NuckingFuts: And very few bots survive that. the C# bot was first, my NodeJS bot managed it before, IDK if it still can. [16:59] NuckingFuts: Since I basically rewrote it all [16:59] kristsk: its fucking nuts! [16:59] olouv has left the channel [16:59] _olouv_ has joined the channel [17:00] NuckingFuts: lol [17:00] NuckingFuts: Only reason I'm on this nick is because my usual name (nuck) is registered in nickserv :P [17:01] NuckingFuts: I sent a memo to the owner, hopefully they'll release it when they log on =P [17:02] mraleph: ryah: ping [17:04] isaacs has joined the channel [17:05] wilmoore has joined the channel [17:05] NuckingFuts: Hopefully I can get this beastly input event system done by the end of today... It's mostly just gonna be parsing character codes... [17:06] devrim has joined the channel [17:07] dmcquay has joined the channel [17:08] Zenergy has joined the channel [17:09] NuckingFuts: The hard part is actually deciding how I'm gonna set it up. I'll probably start out by using an object with the char codes and their names, then work from there... [17:09] NuckingFuts: Cause I can use that in many ways [17:10] Zenergy: Hi. I've been hearing alot about node.js, but I have no idea exactly what it's niche or purpose is? [17:10] zakabird has joined the channel [17:11] isaacs: Zenergy: http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=ryan+dahl+nodejs#sclient=psy&hl=en&q=ryan+dahl+nodejs+video&aq=f&aqi=&aql=&oq=&pbx=1&fp=a16dfe19d276ede1 [17:11] andrewfff has joined the channel [17:11] isaacs: Zenergy: check out the videos in that google search. [17:11] NuckingFuts: I wish NodeJS had something like 8D [17:11] NuckingFuts: That'd be awesome. [17:11] isaacs: Zenergy: ryan explains the purpose pretty well, and then goes into more detail. tl;dr "To let non-expert programmers write fast network programs, such as http servers" [17:11] NuckingFuts: I should code it lol [17:12] EyePulp: zenergy - it's another way to build software- with a tilt towards network-based services. [17:12] isaacs: NuckingFuts: http://jspp.io [17:12] NuckingFuts: isaacs: orly? [17:12] isaacs: NuckingFuts: yeah, it's mikeal's little experiment [17:12] isaacs: NuckingFuts: so wrong, it's right :) [17:12] NuckingFuts: Ho shit [17:12] isaacs: jquery, even [17:12] zemanel has joined the channel [17:13] jxh has joined the channel [17:13] rhlampe has joined the channel [17:13] rhlampe has left the channel [17:14] NuckingFuts: Good to know I wasn't the first to think of that XD [17:15] Zenergy: isaacs, thanks [17:15] NuckingFuts: It could really come in handy :P [17:15] ryanfitz has joined the channel [17:17] Me1000 has joined the channel [17:17] MikeMakesIt has joined the channel [17:17] altamic has joined the channel [17:18] tfcoding has joined the channel [17:19] dnyy has joined the channel [17:19] qFox has joined the channel [17:19] fission6 has joined the channel [17:20] fission6: can someone point me to a good tutorial / explanation for understanding Vm module and how to use it to execute scripts [17:21] isaacs: fission6: not to be all rtfm about it, but have you seen this? http://nodejs.org/docs/v0.3.8/api/vm.html [17:21] Zenergy: Does anyone use node.js in production environments? [17:21] isaacs: fission6: there are some examples and each of the functions are explained pretty thoroughly [17:21] sth: Zenergy: yes [17:21] fission6: going through that right now isaacs [17:22] isaacs: Zenergy: this is a little out of date, but has a bunch of people: https://github.com/ry/node/wiki/Projects,-Applications,-and-Companies-Using-Node [17:23] isaacs: Zenergy: Joyent uses it internally a lot. felixge's transload.it is all node. there are several othes. [17:23] maushu: mape: My idea was to port node.js http server into async C#. [17:23] jamesarosen has joined the channel [17:23] maushu: And then test performance in both. [17:23] rwaldron has left the channel [17:23] fission6: isaacs: i am trying to understand what this means https://github.com/assaf/zombie/issues/#issue/37 [17:24] Zenergy: Welp looks like I have my weekend project [17:25] isaacs: fission6: yeah, implementing a browser is a tough nut to crack [17:26] isaacs: fission6: it sounds like assaf wants to reimplement RunInContext, but that sounds tricky [17:26] fission6: im just trying to understand what its being said in that paragrpah [17:26] fission6: what is runincontext i dont even see that in the doc [17:26] void_ has joined the channel [17:26] isaacs: fission6: require('vm').runInContext [17:27] fission6: http://nodejs.org/docs/v0.3.8/api/vm.html dont see [17:27] BillyBreen has joined the channel [17:27] isaacs: require('vm').runInContext('console.log(foo)', 'foologger', {foo:'bar'}) [17:27] piscisaureus has joined the channel [17:27] piscisaureus: ACTION hi [17:27] isaacs: oh, you'd also have to pass in console :) [17:27] isaacs: require('vm').runInContext('console.log(foo)', 'foologger', {foo:'bar', console:console}) [17:27] Zenergy: hi piscisaureus [17:27] sivy has joined the channel [17:28] sth: So I guess vm is just a smarter version of eval? :P [17:28] isaacs: except it is a segmentation fault instead... [17:28] isaacs: sth: something like that. [17:28] fission6: i dont see runincontext as a method described in the docs [17:28] isaacs: fission6: it's what's used by runInNewContext or runInThisContext [17:28] jano has joined the channel [17:28] fission6: there is a runinThisContext [17:28] fission6: ok [17:29] Ori_P has joined the channel [17:29] Marnixvdb has joined the channel [17:30] Ori_P has joined the channel [17:30] fission6: ok i gess i need to talk to assaf and see what he means by needing to implement something for runinconext [17:30] isaacs: i keep getting segmentation faults trying to use it, though, so either i broke something, or it's broken [17:30] isaacs: :) [17:30] isaacs: fission6: if you're interested in doing it, you'd better be ready to get your hands dirty with some c++ [17:30] isaacs: ask the source :) [17:30] fission6: ok [17:30] isaacs: that's some very low-level v8 hacking [17:31] fission6: im trying to understand what he is saying by needing it though - thats all [17:32] hij1nx has joined the channel [17:32] hobodave has joined the channel [17:32] fission6: isnt this just the equilvent to an eval? "So we're going to need our own implementation that can evaluate a script in the context of an object we give it (Window) without all the variable copying. And we know we can trust the evaluated code because, well, we're running tests." [17:32] sh1mmer has joined the channel [17:33] MrNibbles: ACTION slaps self around a bit with a large trout [17:33] MrNibbles: ACTION slaps * around a bit with a large trout [17:33] MrNibbles: whoos [17:33] MrNibbles: whoops [17:33] MrNibbles: ill just go back to idling now [17:34] plusgut: :D [17:34] prettyrobots has joined the channel [17:35] yozgrahame has joined the channel [17:35] fission6: isaacs: what do you say to the above [17:35] bradleymeck: fission6 no, but I did a workaround that does what he wants in github/bmeck/Witch of setting the global object to have a reference to itself [17:35] chrisfrog has joined the channel [17:36] fission6: i need to run bradleymeck id like to discuss more when i come back, cool? [17:36] isaacs: fission6: no. it's not an eval. eval runs in this context, in this frame. [17:36] isaacs: v8: function foo () { var bar = "baz"; return eval("bar") }; foo() [17:36] v8bot: isaacs: "baz" [17:36] bradleymeck: fission6 if im around sure [17:36] fission6: cool [17:36] davidthings has joined the channel [17:37] isaacs: fission6: runInThisContext runs it in the current context, but outside the current frame (at the global level). runInNewContext runs it in a *new* context (think: on a different webpage, in an iframe, etc) with only the specific references you give it. [17:37] fission6: illr eview got a meeting [17:38] ericnakagawa has joined the channel [17:38] fission6: bradleymeck: what's the difference between witch and zombie? [17:38] fission6: projects [17:38] Imperion has joined the channel [17:39] isaacs: witch, zombie, these projects sound like a halloween party [17:39] bradleymeck: witch got cut from work's r&d so its not deved anymore [17:39] skyler_brungardt has joined the channel [17:39] aheckmann has joined the channel [17:39] torvalamo: one has tricks, the other is braindead [17:39] fission6: haha funny [17:39] fission6: bbl [17:41] eee_c has joined the channel [17:42] muk_mb has joined the channel [17:44] Bonuspunkt has joined the channel [17:45] Announcement has joined the channel [17:46] Jonasbn_ has joined the channel [17:48] jchris has joined the channel [17:49] pydroid has joined the channel [17:49] sprout has joined the channel [17:50] q_no has joined the channel [17:51] davidascher has joined the channel [17:51] altamic has joined the channel [17:51] altamic has joined the channel [17:52] b_erb has joined the channel [17:53] dominictarr has joined the channel [17:54] ajcates has joined the channel [17:54] benburkert has joined the channel [17:55] danyork has joined the channel [17:57] o_o has joined the channel [17:57] binaryjohn has joined the channel [17:58] linopolus: How can I parse XML in JavaScript(nodejs) [17:58] robotarmy has joined the channel [17:58] robotarmy has joined the channel [17:59] kristsk: regexps [17:59] kristsk: kidding [17:59] Imperion: >_> [17:59] Imperion: I was going to reduce your karma :P [18:00] floby has joined the channel [18:00] pauls: Imperion++ [18:00] v8bot: pauls has given a beer to Imperion. Imperion now has 1 beers. [18:00] mhausenblas: hi people, I'm trying to install npm and get timeouts over and over again. any workarounds for this? [18:01] isaacs: mhausenblas: 1. what os? and 2. please gist the entire output. [18:01] kristsk: some tricky proxy setup ? [18:01] isaacs: mhausenblas: 3. are you behind a proxy? [18:01] charlenopires has joined the channel [18:01] isaacs: kristsk: gmta :) [18:01] noahcampbell has joined the channel [18:01] mhausenblas: isaacs: 1. MacOS, 2. OK [18:02] kristsk: MacOS or OSX ? [18:02] pauls: lol [18:02] pauls: mhausenblas: may want to attempt to ping the host that times out [18:02] kristsk: sorry. [18:03] pauls: altho to be honest i don't know if the servers repsond to pings [18:03] mhausenblas: hehe, OS X [18:03] kristsk: telnet to port 80 ? [18:03] isaacs: mhausenblas: seems like the registry might've hiccuped [18:03] mhausenblas: yup [18:03] isaacs: mhausenblas: can you try `npm cache clean` and then do again whatever you were doing? [18:03] isaacs: seems to be up now [18:04] mhausenblas: ahm, I'm about to *make* it, have no npm yet ;) [18:04] mhausenblas: isaacs, gisted it at https://gist.github.com/814844 [18:04] isaacs: ok! dns stuff. [18:04] davida_ has joined the channel [18:04] isaacs: mhausenblas: did you recently change networks, vpn, etc? [18:05] pauls: i can ping it.. [18:05] mhausenblas: nope (at work ;) [18:05] isaacs: mhausenblas: osx+c-ares = flaky dns lookups sometimes [18:05] dominictarr has joined the channel [18:05] isaacs: mhausenblas: try setting your DNS servers as 8.8.8.8 and 8.8.4.4 in your networking prefpane [18:05] isaacs: mhausenblas: otherwise /etc/resolv.conf can often get incorrect values in it, and dns will fail all over the place. [18:05] mhausenblas: yeah, ping registry.npmjs.org works for me [18:05] isaacs: mhausenblas: node really ought to do like curl, and do gethostname on eio_custom rather than via c-ares [18:06] isaacs: (on osx anyway) [18:06] mhausenblas: right, I see [18:06] isaacs: this happens a lot when switching networks or vpn, since osx takes a while to update /etc/resolv.conf with the new values [18:06] mhausenblas: your help and time is very much appreciated, isaacs [18:06] isaacs: so node's c-ares binding will be trying to hit a dns server that it can't reach [18:06] isaacs: np [18:09] floby has left the channel [18:09] jdrannbauer has joined the channel [18:09] pauls: does anyone know the three20 irc room? [18:10] mhausenblas_ has joined the channel [18:11] confoocious has joined the channel [18:11] confoocious has joined the channel [18:12] gattuso has joined the channel [18:12] ukd1 has joined the channel [18:14] mhausenblas_ has joined the channel [18:14] Imperion: I am such an idiot. [18:14] Imperion: I just realized that I could specify an element's ID in Jade in the attribute list [18:15] tjholowaychuk: :) [18:15] tjholowaychuk: you can do foo.bar.baz(class: somethingDynamic) as well and it will still work but yeah foo(id: whatever) is fine [18:16] erwe_ has joined the channel [18:16] ukd1 has joined the channel [18:18] EyePulp: anyone know how to directly access the collection object via the current version of mongoose? Model._collection worked before, but after the change to Schemas Model._collection is undefined [18:18] tjholowaychuk: you can do foo.bar.baz(class: somethingDynamic) as well and it will still work but yeah foo(id: whatever) is fine [18:18] Blink7 has joined the channel [18:18] tjholowaychuk: fuck [18:18] ukd1 has left the channel [18:18] ukd1 has joined the channel [18:18] fumanchu182 has joined the channel [18:19] mjr_ has joined the channel [18:19] hobodave_ has joined the channel [18:19] bingomanatee has joined the channel [18:20] EyePulp: tjholowaychuk: everything ok? [18:20] tjholowaychuk: haha [18:21] dguttman has joined the channel [18:21] aaronmcleod has joined the channel [18:21] Imperion: tjholowaychuk: btw, why is the Less-to-CSS autoregeneration thing broken in Express? [18:21] Imperion: I have to delete the generated files manually every time [18:22] tjholowaychuk: Imperion: it shouldnt be, it just does simple mtime checks [18:22] Imperion: O_O [18:22] tjholowaychuk: it cant really "follow" @import rules though [18:22] hasenj has joined the channel [18:22] tjholowaychuk: so if you change those but not the requested one it wont know [18:22] Imperion: I'm not using @import [18:22] tjholowaychuk: hm [18:22] shaver: well poop [18:22] shaver: my first node crash [18:23] shaver: running 0.3.7, I will update [18:23] tjholowaychuk: Imperion: definitely a bug then of some sort [18:23] aaronmcleod has joined the channel [18:23] mjijackson has joined the channel [18:24] aaronmcleod: Quick newb question i think. I created a writeStream, now how do i write to a file with it? [18:24] swistak has joined the channel [18:24] versicolor has joined the channel [18:24] tjholowaychuk: aaronmcleod: stream.write(whatever) [18:25] xla has joined the channel [18:25] MikhX has joined the channel [18:26] vyvea_ has joined the channel [18:27] aaronmcleod has left the channel [18:29] linopolus: Is there no other possibility to parse XML than regexp and DOM? Can't belive it! [18:29] aro has joined the channel [18:29] pengwynn has joined the channel [18:30] linopolus: I just need to load an XML file(done with http.client) in a string, and now parse it and get the information I need [18:30] tjholowaychuk: linopolus: pretty sure we have like 10 xml parsers [18:30] tjholowaychuk: look on the modules list [18:31] erwe has joined the channel [18:32] dgathright has joined the channel [18:32] linopolus: tjholowaychuk: thanks, found that 9 on the modules list [18:32] stephank has joined the channel [18:32] Country has joined the channel [18:33] EyePulp: heh - we're getting slow. [18:33] shripadk has left the channel [18:34] joshdavey has joined the channel [18:34] Bonuspunkt has joined the channel [18:34] Imperion: tjholowaychuk: it's the goddamn order [18:34] Imperion: compiler needs to be before staticProvider [18:35] siong1987 has joined the channel [18:36] tjholowaychuk: Imperion [18:36] tjholowaychuk: yeah of course [18:36] tjholowaychuk: lol [18:36] Imperion: seriously [18:36] tjholowaychuk: compiler doesnt serve them [18:36] tjholowaychuk: just compiles them [18:36] Imperion: I know [18:36] Imperion: but this is so stupid [18:36] ryah: ACTION hugs mraleph  [18:37] tjholowaychuk: Imperion: how is that stupid, its perfectly logical [18:37] langworthy has joined the channel [18:37] briznad1 has joined the channel [18:37] Imperion: it's sensitive :P [18:37] tjholowaychuk: it's called thinking :p [18:37] tjholowaychuk: it cant decide shit for you [18:37] Imperion: I know, I know [18:37] Poetro1 has joined the channel [18:38] fumanchu182 has joined the channel [18:39] shiawuen has joined the channel [18:39] Lewis has joined the channel [18:39] Lewis: yoaz [18:40] Lewis: How do I export a function to a module so it can be called like this: [18:40] CIA-99: node: Ryan Dahl master * r0da96cc / doc/api/http.markdown : typo - http://bit.ly/hOoITk [18:40] CIA-99: node: Mikeal Rogers master * r2b03ba5 / (lib/http.js lib/https.js): http: agent takes options instead of host, port pair - http://bit.ly/g4Nwog [18:40] Lewis: awesomeness = require("awesomeness"); [18:40] Lewis: awesomeness(); [18:41] isaacs: Lewis: module.export = awesomeness ; function awesomeness () { doAwesome() } [18:41] Lewis: exports = function() ? [18:41] isaacs: er, module.exports [18:41] isaacs: (plural) [18:41] awenkhh has joined the channel [18:41] isaacs: Lewis: if you still wanna do stuff like exports.foo = "bar", then you shoudl do exports = module.exports = awesomeness [18:41] piscisaureus: ryah: bing [18:41] Lewis: ok [18:41] mheld has joined the channel [18:42] mheld: hey y'all [18:42] CIA-99: node: Ryan Dahl reload * r36d3f5e / (lib/module.js src/node.js): ... - http://bit.ly/hctneV [18:42] mheld: is there a way to generate a bson ObjectId in mongoose? [18:42] lukegalea: Lewis: "mastering node" goes over that stuff. [18:42] Lewis: Book? [18:42] lukegalea: pdf, etc.. [18:42] ryah: piscisaureus: hi [18:42] lukegalea: http://visionmedia.github.com/masteringnode/ [18:43] perlmonkey2 has joined the channel [18:43] EyePulp: mheld: I think you can prettyeasily under the newer mongoose [18:43] lukegalea: tjholowaychuk: You should pull in my spelling corrections ;) [18:43] tjholowaychuk: lukegalea: haha sorry, been so busy [18:43] lukegalea: no worries. [18:43] datapimp has joined the channel [18:43] piscisaureus: ryah: erm, j'ai un question [18:43] piscisaureus: where/when does the dns module stop the watcher it uses for cares fd's? [18:44] awenkhh has joined the channel [18:44] piscisaureus: It doesnt seem to do that timely [18:44] EyePulp: mheld: http://mongoosejs.com/ -- scroll down to the "defining a model" section [18:45] hobodave has joined the channel [18:45] ryah: piscisaureus: hm. donno. there is a watcher.stop() in dns.js [18:45] mheld: EyePulp: so, I'd just do a new ObjectId (in that case) [18:45] piscisaureus: yeah but that gets called just before the watcher is started [18:45] mheld: and that'd automagically generate the right ID for the current time/process [18:45] ezmobius has joined the channel [18:45] EyePulp: mheld: couldn't tell you [18:46] EyePulp: haven't had to deal with direct ObjectID creation at this point [18:47] vineyard has joined the channel [18:47] lukegalea: mheld: I think the intent in that example is to reference the auto generated objectid in another collection. [18:47] lukegalea: so you'd create your author first [18:48] b_erb has left the channel [18:48] admc has joined the channel [18:48] lukegalea: then us the _id from that as the value in the author field of the blogpost. [18:48] lukegalea: s/us/use. [18:48] piscisaureus: ryah: the watcher should be stopped in time [18:48] mheld: lukegalea: yeah, it looks like it's just dealing with schema creation [18:48] bradleymeck has joined the channel [18:48] tiemonster has joined the channel [18:48] mheld: I want an instantiated ObjectId [18:48] mheld: so, I'm going through the driver a bit [18:49] piscisaureus: or I will have to land a (valid) libev patch that will hurt performance badly (hehe that is a threat) [18:49] lukegalea: How is it that you need to create an objectid from scratch? You can't save a model first and use the objectid returned? [18:49] clarkfischer has joined the channel [18:49] mheld: lukegalea: I'm using an objectId as a unique identifier [18:50] mikeal has joined the channel [18:50] mheld: I _could_ just use a different unique ID generator [18:50] mheld: but I figure why not use ObjectId if I'm already using mongodb [18:50] tiemonster: piscisaureus: I'm baaaaack! :-) [18:51] jpstrikesback has joined the channel [18:51] tiemonster: 1.3.8 compiles and runs, trunk compiles but does not run [18:51] piscisaureus: tiemonster: that's bad [18:51] tiemonster: we *have* made changes to node.cc, which I fear may have affected stability [18:51] lukegalea: mheld: I wonder if the mongo client does that at all.. it might just be the mongo server itself. [18:51] lukegalea: I'd be interested to hear what you come up with. [18:52] zylo has joined the channel [18:52] retsam has joined the channel [18:52] tiemonster: cd .. [18:52] prettyrobots has joined the channel [18:52] tiemonster: ack [18:52] piscisaureus: tiemonster: I will try to check the latest master on win soon, but right now I'm working on some stuff that I'd rather not loose [18:52] tiemonster: np [18:52] piscisaureus: so stick with 0.3.8 [18:52] CIA-99: node: koichik master * r45c0faf / doc/api/dgram.markdown : corrected small typos - http://bit.ly/eqdzd0 [18:53] tfe_ has joined the channel [18:53] mheld: I guess I could create the document, use the objectid, then modify it [18:53] mheld: if it _is_ in fact done serverside [18:54] piscisaureus: ryah: you are too busy now? [18:54] piscisaureus: if so, that's ok [18:54] ryah: piscisaureus: yeah, better in a few hours [18:55] lukegalea: mheld: How about a collection called "UniqueIDs"... it would be funny. But it would work. [18:55] MikhX has joined the channel [18:55] mheld: haha [18:55] piscisaureus: ryah: ok. should be there ~ 13h/14h SF time [18:55] lukegalea: You could just called (new UniqueID())._id whenever you wanted a new unique id [18:56] Coal has joined the channel [18:57] ryah: piscisaureus: ok. i'll be back around 13h [18:57] ryah: (denist) [18:57] Lewis: Object is not a function [18:57] hornairs has joined the channel [18:57] Lewis: So much for killing PHP :( [18:58] pifantastic_ has joined the channel [18:58] wadey has joined the channel [18:58] bradleymeck: lol where did you see that? [18:59] mheld: lukegalea: turns out there's a BSON -> ObjectId() [18:59] mheld: erm [18:59] mheld: ObjectId constructor inside of BSON [19:01] Lewis: Why not work? :( [19:01] Lewis: http://www.pastie.org/1537937 [19:01] lukegalea: Lewis: exports is plural [19:01] lukegalea: line 1 [19:02] Lewis: ah [19:02] Lewis: hah! [19:02] janm has joined the channel [19:02] erwe has joined the channel [19:02] tjholowaychuk: Lewis: when you do module.exports = foo you are replacing the exports object, so exports.something will not really be exported [19:02] Lewis: So what do you do? :\ [19:02] tjholowaychuk: Lewis: usually you just want to exports.inbox = ...; exports.something = ...; [19:03] tjholowaychuk: BUT if you want say require('logger') instead of require('logger).Logger, then you module.exports = function Logger(){} [19:03] Lewis: How can I have both inbox() and inbox.recv() work then? [19:03] tjholowaychuk: exports = module.exports = inbox [19:03] isaacs: Lewis: do exports = module.exports = somethingAwesome [19:04] isaacs: Lewis: or just hang stuff on the thing that you're assigning to module.exports [19:04] lukegalea: you mean you want recv as a function in the prototype? [19:04] Lewis: yeah [19:04] steffkes has joined the channel [19:04] isaacs: Lewis: function inbox () {...} ; module.exports = inbox; inbox.recv = somethignElse [19:04] isaacs: that would work^ [19:04] dgathright has joined the channel [19:04] Lewis: cool [19:05] isaacs: if you want inbox to be a class, and you want to have a recv method on all the objects that instantiate that class, then you want to inbox.prototype.recv=recvFunction [19:05] isaacs: so that this will work: var i = new inbox() ; i.recv() [19:05] lukegalea: I found this: http://blog.mixu.net/2011/02/02/essential-node-js-patterns-and-snippets/ [19:05] wadey: is anyone using memcached with node.js? A cursorary glance shows most of the libraries to be lacking. [19:05] lukegalea: Lewis: that has some examples for you [19:05] CIA-99: node: isaacs master * rda2f4b2 / (5 files in 4 dirs): [19:05] CIA-99: node: support for package.json [19:05] CIA-99: node: This adds basic support for situations where there is a package.json [19:05] CIA-99: node: with a "main" field. That "main" module is used as the code that is [19:05] CIA-99: node: loaded when the package folder is required. - http://bit.ly/fHAc3h [19:05] agnat has joined the channel [19:05] ryah: yay isaacs--^ [19:05] isaacs: hooray!!! [19:06] Lewis: cool guys [19:06] muk_mb has joined the channel [19:06] Lewis: :) [19:06] isaacs: that's so awesome. [19:06] isaacs: ryah: if we can get node_modules lookup into 0.4, then the path to npm awesomeness is completely unblocked. [19:06] isaacs: and people can start using it as soon as it's done, rather than waiting for 0.6 [19:06] tjholowaychuk: why not just add ./index.js [19:07] ryah: wait $ISAACS [19:07] tjholowaychuk: unless im missing something [19:07] isaacs: tjholowaychuk: personally, i'm not a fan of index.js [19:07] lep has joined the channel [19:07] isaacs: i know the folks love it, but.. meh. in the debugger, it's annoying. when i wanna pull up a filein my editor, there's like a dozen "index.js"es, which is lame. etc. [19:07] isaacs: it's nice to have all your js in one place. [19:07] tjholowaychuk: i hated it for a while lol but i dont mind it now [19:08] ryah: tjholowaychuk: we have too many modules already written which don't do it [19:08] isaacs: and a package is more than a module, a lot of the time. [19:08] ryah: tjholowaychuk: we should have forced it from the start [19:08] isaacs: a lot of the time it's also a bunch of docs, tests, etc. [19:08] tjholowaychuk: yeah everyone should have ./index.js in the root [19:09] Tom- has joined the channel [19:09] isaacs: once i started using the debugger, i realized that index.js is teh suxx0rz [19:10] isaacs: ryah: the debugger should just drop index.js from script names. doesn't it have the full path? [19:10] Lewis: isaacs: Would you use node.js to build a production CRM for the finance (bonds) industry if you were hired to do that? [19:10] Lewis: Or would you choose a different framework/language for the task? [19:10] lukegalea: Lewis: Are you being paid by the hour ?? [19:10] lukegalea: :) [19:10] isaacs: Lewis: if they hired me, it's probably because they wanted node in the first place. but... yeah, i mean, now that we've got a working https client and server, it's pretty tight. [19:10] Lewis: cool [19:10] isaacs: Lewis: it is my hammer, all problems look like nails, i guess. i'm not really unbiased. [19:10] isaacs: :) [19:11] Lewis: I am not being paid by the hour, I have harsh deadlines and I feel that this is taking longer to get up and running in node.js, but will pay off [19:11] Lewis: hehe [19:11] isaacs: ryah: 0001 was the foo/foo.js thing? [19:11] lukegalea: Lewis: I [19:12] isaacs: oh, yeah, i see it. yeah, that's not as relevant, really. can definitely do without it. [19:12] EyePulp: Lewis: Bear in mind that the pool of talent that a company can throw at support and maintenance for node projects is a bit smaller. [19:12] Lewis: mmm [19:12] lukegalea: Node feels to me a lot like Ruby did in 2005.... [19:12] isaacs: EyePulp, Lewis: it's smaller, but smarter. [19:12] altamic has joined the channel [19:12] Lewis: :) [19:13] lukegalea: which is it say, the first projects I worked on took me longer, but were WAY more fun.. [19:13] EyePulp: isaacs: don't count on it... *I'm* using it, aren't I? [19:13] aurynn has joined the channel [19:13] isaacs: hehe [19:13] gattuso has joined the channel [19:13] EyePulp: =P [19:13] isaacs: EyePulp: right, but i mean, no one's using node because they're just doin the dumb thing you gotta do [19:13] isaacs: EyePulp: any noder is using node because they are trying out new things, usually on their own time, experimenting, etc. [19:14] isaacs: imo, if you're a CTO, you have to choose a technology based on the people that are attached to it. anything else is transitory. [19:15] isaacs: a lot of the technical problems will be fixed soon enough. the technical benefits will be copied by other platforms. but the culture attached to a project is very very sticky. choose ruby if you want rubyists. choose node if you want noders. etc. [19:15] lukegalea: isaacs: on the other hand, I'm not sure that the things node is really good at are especially applicable to a CRM. I can't imagine a CRM being any better running on Node versus Rails. [19:15] EyePulp: isaacs: I'm betting a new company service on node, and just Friday came to the dreaded conclusion I may have bet wrong - the lack of library maturity is a real bear. Node's stable as heck, but the libs I depend on aren't always as stable or complete. [19:16] lukegalea: isaacs: I see your point re: people though. [19:16] shaver: latency is the big web-experience challenge now [19:16] shaver: and scaling [19:16] isaacs: the things that the people in the community care about will tend to be the things that the platform excels at. [19:16] shaver: event based stuff is slightly worse at server-side latency, but can be a LOT better at client-visible latench [19:16] EyePulp: If I was building a CRM I'd do django/rails before even considering node. Wrong tool for the job. [19:16] lukegalea: isaacs: ya, my experience with Erlang could be summed up by that. [19:16] isaacs: qv, rails is super magical, lets you build out huge featureful sites with very little code. otoh, node is way faster, leaner, lots of lowlevel access, etc. [19:17] isaacs: node isnt' anywhere near as mature as rails/ruby, though [19:17] isaacs: but you can see the trajectory. [19:17] aro has joined the channel [19:18] EyePulp: writing a djanog project now feels like I'm driving a big comfy luxury car. Node feels more like a Caterham. [19:18] isaacs: if i had to do a project that depended on getting really smart systems/networking programmers doing stuff with the web, i'd choose node so that i got node programmers. if i wanted to toss low-traffic crud sites up online as quickly as possible, i'd go with rails. [19:18] rjnienaber has joined the channel [19:19] EyePulp: isaacs: that's a bit of a false assertion - there's a middle ground. =) [19:19] isaacs: EyePulp: sure, i'm enlarging to show texture :) [19:19] EyePulp: hah - nice [19:20] zzak: sinatra is the middle ground [19:20] zzak: ;) [19:21] lukegalea: in some ways, using an oddball ruby framework like sinatra is the worst of both worlds though.. you don't get any of the benefit of using what everyone is using and you don't get the fun of using something new on node. We use Merb extensively.. and it hurts. [19:21] mikedeboer has joined the channel [19:22] isaacs: also, ruby has a ton of stuff baked in, whereas with node you kind of pick and choose modules from npm and have a tiny core set. [19:22] isaacs: different philosophies. [19:22] matjas has joined the channel [19:22] isaacs: in a way, the ruby/python/jvm approach is kinda nice. you can just use it, and it's official, and it works everywhere. otoh, you've got a much larger thing to lug around. [19:23] kristsk: and how about php? [19:23] kristsk: (runs for cover) [19:24] isaacs: php's kinda col [19:24] isaacs: *cool [19:24] nerickson has joined the channel [19:24] tjholowaychuk has joined the channel [19:25] bradleymeck: php needs 2 things in my book, variable classes instead of taking up namespace, and GC of functions (seriously? why do they not GC anonymous functions ever) [19:25] bradleymeck: its standard library is old school design, but very nice [19:25] perlmonkey2: Awesome! Couldn't have had better timing for me :) http://dailyjs.com/2011/02/07/node-tutorial-12/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+dailyjs+(DailyJS) [19:25] garrensmith has joined the channel [19:25] kristsk: no gc for anonymouse functions prlly is mising because php is run by request [19:26] saikat has joined the channel [19:26] aro has joined the channel [19:26] eric_ie has joined the channel [19:26] pedrobelo has joined the channel [19:26] bradleymeck: kristsk true, but it ruins streaming stuff (look at the websocket implementation in php) [19:26] Marnixvdb has joined the channel [19:27] mikeal has joined the channel [19:27] kristsk: well, better have one thing that works kinda properly than 3 half-assed that does not work at all [19:27] fission6: bradleymeck: you around? [19:27] statim has joined the channel [19:28] statim has left the channel [19:28] bradleymeck: yep [19:29] piscisaureus has joined the channel [19:29] fission6: ok, was hoping to continue our discussion early between witch and zombie [19:29] fission6: so what do you think the issue was from zombie which i mentioned early about runincontext [19:30] BillyBreen has joined the channel [19:31] colinclark has joined the channel [19:32] bradleymeck: fission6 from a cursory glance it is the fact that the global object is not truly the window object [19:32] phed__ has joined the channel [19:33] fission6: hmm what do you mean, i am like half following sorry - small learning gap [19:34] fission6: what is the ultimate goal? to get external scripts to execute in the context of the DOM? [19:34] nlacasse has left the channel [19:35] aro has joined the channel [19:38] nejucomo has joined the channel [19:39] bradleymeck: fission6 i think so. [19:39] bradleymeck: im no expert on zombie [19:39] fission6: how did you go about doing this in witch or did you not get that far [19:40] bradleymeck: i had no need for it in witch [19:40] fission6: So we're going to need our own implementation that can evaluate a script in the context of an object we give it (Window) without all the variable copying. And we know we can trust the evaluated code because, well, we're running tests. seems like this is just an eval no? [19:40] bradleymeck: but i did something similar on the window object as the global variable [19:40] maushu has joined the channel [19:41] phidelta has joined the channel [19:42] dominictarr has joined the channel [19:42] bradleymeck: fission6, a context is very different from an eval. 1. builtin objects are new (Array != ArrayFromOtherContext). 2. If you set global variables they are visible to eval. [19:42] bradleymeck: Sounds more like you should make a prototype window object and just make new ones when you need new tests the more i hear about it [19:42] vyvea has joined the channel [19:43] fission6: i think the issue is running all the external JS on the same window object? [19:43] phidelta: Hi everyone, I'm having trouble with the C++ Buffer API, and am wondering if anyone can give me a quick hint. [19:43] phidelta: How do I create a new Buffer from a char * (containing binary data). I'm in the node_buffer.cc source right now and not getting anywhere. [19:43] bradleymeck: not sure what you mean by that fission6 [19:44] bradleymeck: you dont want to polute a context and then reuse it if you are doing testing though [19:45] ErikCorry has joined the channel [19:45] bradleymeck: instead of making it complex, use prototypes, sounds like to do the setup would be something like this: var ctx = {}; ctx.window = ctx; var usableCtx = Object.create(ctx); vm.runInContext(usableCtx) [19:45] derferman has joined the channel [19:46] fission6: yea i am not to sure [19:46] Me1000 has joined the channel [19:46] edude03 has joined the channel [19:46] edude03: Hello everyone [19:47] gattuso has joined the channel [19:48] kkaefer_: what's the best way to get the *values* of a object/hash? [19:48] syntheze has joined the channel [19:48] kkaefer_: there's Object.keys() [19:48] kkaefer_: but there doesn't seem to be an equivalent for values [19:48] liar has joined the channel [19:49] daniellindsley has joined the channel [19:49] dylang has joined the channel [19:49] torvalamo: convert it to an array [19:49] prank has joined the channel [19:49] garrensmith: ping cloudhead [19:49] softdrink has joined the channel [19:49] JohnnyL has joined the channel [19:49] jamescarr has joined the channel [19:49] Sebmaster has joined the channel [19:49] edude03: Hey guys I have a quick question [19:50] edude03: In node.js I want to return data to the client when its ready, for example, if the client requires the result of a mapreduce job [19:51] herbySk has joined the channel [19:51] awenkhh has joined the channel [19:51] clarkfischer: Object.keys() in conjunction with Array.map(), kkaefer_? [19:51] edude03: I want to have the mapreduce job kicked off when the client connects then have an event that returns the data once its done, how would I go about doing that? [19:51] ErikCorry: a.keys().map(function(x) { return a[x]; }) [19:51] torvalamo: v8: Object.values = function(obj) {var arr = []; for (var k in obj) arr.append(obj[k]); return arr}; Object.values({a:'a',b:'c',c:'b'}) [19:51] v8bot: torvalamo: TypeError: Object has no method 'append' [19:52] torvalamo: what's the name [19:52] kkaefer_: hmm, I guess [19:52] kkaefer_: thanks [19:52] clarkfischer: push [19:52] torvalamo: thats it [19:52] torvalamo: v8: Object.values = function(obj) {var arr = []; for (var k in obj) arr.push(obj[k]); return arr}; Object.values({a:'a',b:'c',c:'b'}) [19:52] v8bot: torvalamo: ["a", "c", "b"] [19:53] Bioxyde has joined the channel [19:53] Bioxyde: Hello [19:53] Bioxyde: Guys, how do I list all installed npm modules? [19:53] lukegalea: npm list installed [19:53] isaacs: Bioxyde: npm ls [19:53] isaacs: Bioxyde: npm ls installed [19:53] torvalamo: v8: {a:'b',b:'a'}.keys() [19:53] v8bot: torvalamo: SyntaxError: Unexpected token : [19:53] Coal has joined the channel [19:53] isaacs: Bioxyde: it's faster if you add --no-registry (or just --no-reg) on the command [19:53] torvalamo: yeah keys is on Object [19:53] Bioxyde: ok [19:53] isaacs: v8: ({a:1}).keys() [19:53] v8bot: isaacs: TypeError: Object # has no method 'keys' [19:54] bradleymeck: v8: /*kkaefer:*/ var x={a:1,b:2,c:3}; Object.values(x).map(function(k){return x[k]}) [19:54] v8bot: bradleymeck: TypeError: Object function Object() { [native code] } has no method 'values' [19:54] torvalamo: Object.keys({a:1}) [19:54] torvalamo: v8: Object.keys({a:1}) [19:54] v8bot: torvalamo: ["a"] [19:54] iszak has joined the channel [19:54] bradleymeck: var x={a:1,b:2,c:3}; Object.keys(x).map(function(k){return x[k]}) [19:54] iszak has joined the channel [19:54] bradleymeck: bleh [19:54] torvalamo: v8: var x={a:1,b:2,c:3}; Object.keys(x).map(function(k){return x[k]}) [19:54] v8bot: torvalamo: [1, 2, 3] [19:54] torvalamo: stoled! [19:54] kkaefer_: yeah :/ [19:54] ErikCorry: That's the one. [19:54] kkaefer_: thanks [19:54] isaacs: torvalamo: the reason why you were getting a "syntax error" instead of "missing method" error, is that {a:1} is a code block with a named numeric expression. [19:54] garrensmith: edude03: socket.io is probably what you looking for [19:54] isaacs: torvalamo: JavaScript: pretty dumb sometimes. [19:55] isaacs: JavaScript-- [19:55] v8bot: isaacs has taken a beer from JavaScript. JavaScript now has -1 beers. [19:55] torvalamo: isaacs, yeah, but that doesn't prove my point wrong [19:55] torvalamo: keys is on Object [19:55] torvalamo: not a prototype [19:55] isaacs: torvalamo: yeah, it is [19:55] ErikCorry: Annoying... [19:55] isaacs: but you need parens around object literals [19:55] ErikCorry: Reality is at fault, not me :-) [19:55] edude03: garrensmith: That looks like a good place to start [19:56] garrensmith: edude03: if you want to send data to a web client it will the trick else a simple socket connection to any other client [19:56] kjeldahl has joined the channel [19:56] edude03: Though I understand the socket part (I'm using long polling at the moment) [19:57] edude03: I'm trying to figure out how to code the back end in node.js [19:57] erwe: does someone have a paper that explains async coding with node? [19:59] bmcd has joined the channel [20:00] dmcquay2 has joined the channel [20:01] Bioxyde: I'm trying to install an npm module and it's giving me this error: [20:01] Bioxyde: Error connecting to server blablabla/express [20:01] Bioxyde: Error: [20:01] Bioxyde: ECONNREFUSED, Could not contact DNS servers [20:01] forzan has joined the channel [20:02] Bioxyde: at IOWatcher.callback (dns:52:15) [20:02] Bioxyde: at node.js:773:3 [20:02] eee_c1 has joined the channel [20:03] hij1nx has joined the channel [20:03] Bioxyde: Is that a problem with my DNS? [20:05] garrensmith: edude03: Socket.io has some nice examples. Very easy [20:06] EyePulp: erwe: async coding in node is an excercise in the use of javascript based callbacks. read up on callbacks, and you'll start to get a feel for asyncronous programming (in node or anywhere). [20:06] necromancer has joined the channel [20:06] EyePulp: *asynchronous [20:06] necromancer: are there any server-side MVC frameworks written purely in JS? [20:06] stride: express has a MVC example somewhere necromancer [20:06] erwe: oh only that? i already code in js :D [20:07] necromancer: stride: is express the project name? [20:07] erwe: ty EyePulp [20:07] pieterv has joined the channel [20:07] stride: node-faq: show express to necromancer [20:07] node-faq: necromancer: express is "Popular web framework built on connect. http://expressjs.com" [20:07] stride: yeah [20:07] aurynn: I rather like express [20:07] EyePulp: erwe: just callbacks. There's probably more to it, but if you understand callbacks, you're most of the way there (as far as I know...) [20:07] erwe: ok [20:07] tiemonster has joined the channel [20:07] aurynn: It's what I'm using for development [20:08] erwe: now i need to install 3.x [20:08] erwe: cause i have 2.6 [20:08] necromancer: thanks [20:08] btipling has joined the channel [20:08] stride: de nada [20:09] tiemonster: piscisaureus: merged in some of your recent changes, and now everything is kosher [20:09] tiemonster: we have some of that functionality implemented, but the patch is not very clean [20:09] tiemonster: I'll work on that for ya [20:10] necromancer: so express projects have to be created entirely with JS? [20:11] necromancer: that's cool but i'd like to use HTML as my templating engine lol [20:11] Bioxyde: you can use [20:11] Bioxyde: any HTML templating engine [20:11] Bioxyde: Coffeekup [20:11] Bioxyde: Is my choice [20:11] tykelewis has joined the channel [20:12] Bioxyde: There are alot, haml-js, haml.js, CoffeeKup, EJS [20:12] Bioxyde: etc. [20:12] benburkert has joined the channel [20:13] isaacs: Bioxyde: what OS are you on? (re: DNS issue) [20:14] ryanfitz has joined the channel [20:15] Sebmaster has joined the channel [20:18] mikeal has joined the channel [20:18] Ori_P has joined the channel [20:19] fly-away has joined the channel [20:21] tlrobinson has joined the channel [20:22] deepthawtz has joined the channel [20:22] borgenk has joined the channel [20:23] dylang: tjholowaychuk: did the latest Connect update break require('connect/middleware/session/memory')? [20:23] CrazyGoogle has joined the channel [20:23] deepthawtz has joined the channel [20:25] dylang: tjholowaychuk: nevermind, figured it out from the examples. MemoryStore = connect.session.MemoryStore. The doc is out of date. [20:25] F3RR4M3N745 has joined the channel [20:25] F3RR4M3N745 has left the channel [20:25] F3RR4M3N745 has joined the channel [20:25] F3RR4M3N745: Hey [20:25] F3RR4M3N745: Anyone can help me? [20:26] dominictarr has joined the channel [20:26] tiemonster: no [20:26] F3RR4M3N745: Seriously [20:26] tiemonster: don't know the problem yet! [20:27] F3RR4M3N745: I'm trying install one module [20:27] tiemonster: using? [20:27] F3RR4M3N745: usign npm [20:27] tiemonster: ok [20:27] F3RR4M3N745: I type npm install express [20:27] F3RR4M3N745: and return [20:27] isaacs: dylan-away: yes, it didn [20:27] isaacs: *did [20:27] F3RR4M3N745: Error connection to server blahblah/express [20:28] heavysixer has joined the channel [20:28] isaacs: F3RR4M3N745: can you please paste the entire output to a gist or pastie? [20:28] isaacs: F3RR4M3N745: also, what operating system are you using? [20:28] konobi: oh eck... i have teh p0wer!! [20:28] F3RR4M3N745: windows [20:28] F3RR4M3N745: :/ [20:28] isaacs: F3RR4M3N745: on cygwin or mingw? [20:28] mikeal: ryah: do you feel like doing a quick deep dive on the new LiveEdit stuff for aminutewithnode? [20:28] F3RR4M3N745: cygwin [20:28] isaacs: F3RR4M3N745: what version of node? [20:28] F3RR4M3N745: 0.2.6 [20:29] F3RR4M3N745: and npm version [20:29] F3RR4M3N745: 0.2.17 [20:29] dylang has joined the channel [20:29] isaacs: F3RR4M3N745: see step 4: https://github.com/ry/node/wiki/Building-node.js-on-Cygwin-(Windows) [20:29] isaacs: F3RR4M3N745: did you update your /etc/resolv.conf file? [20:29] Sebmaster: isaacs: I can't execute npm update too right now [20:29] Sebmaster: it did work a few days ago tho [20:30] tjholowaychuk: dylang: yeah [20:30] tjholowaychuk: dylang: sorry lol the docs suck [20:30] tjholowaychuk: necromancer: if you just wanted html just read the file in and pipe it to the response [20:30] tjholowaychuk: no need for the view system [20:32] Sebmaster: isaacs: nvm i switched network, should update the nameserver i guess^^ [20:32] F3RR4M3N745: I did vim /etc/resolv.conf [20:32] F3RR4M3N745: and typed 8.8.8.8 [20:32] isaacs: Sebmaster: yeah, on OS X, node's dns stuff is easily confused. on Cygwin, it's just broken without updating the resolv.conf file. [20:32] F3RR4M3N745: and 8.8.4.4 [20:32] Sebmaster: isaacs: Works fine now [20:33] isaacs: F3RR4M3N745: cat /etc/resolv.conf [20:33] Sebmaster: i guess ill leave 8.8.8.8 there [20:33] isaacs: F3RR4M3N745: what does that print out [20:33] isaacs: ? [20:33] F3RR4M3N745: prints [20:33] F3RR4M3N745: nameserver 8.8.8.8 [20:33] F3RR4M3N745: and [20:33] F3RR4M3N745: nameserver 8.8.4.4 [20:33] isaacs: hmm... [20:33] isaacs: ok [20:33] zemanel has joined the channel [20:33] F3RR4M3N745: I will try now [20:34] timeller has joined the channel [20:34] F3RR4M3N745: the same error... [20:34] F3RR4M3N745: I will write the error, wait. [20:34] isaacs: F3RR4M3N745: ok, please copy the entire output, from the command you ran to the resulting error, to a gist. [20:34] erwe has joined the channel [20:35] isaacs: F3RR4M3N745: can you copy and paste from the cygwin shell? [20:35] isaacs: jsut the whole thing. toss it into a pastie or gist.github.com or something [20:35] w0rse_ has joined the channel [20:36] void_ has joined the channel [20:36] F3RR4M3N745: No, I have to write. [20:36] F3RR4M3N745: :x [20:36] F3RR4M3N745: I'm writing. [20:36] isaacs: F3RR4M3N745: jeez, that sucks, man. [20:36] tlrobinson_ has joined the channel [20:36] isaacs: F3RR4M3N745: you can probably do this in the cygwin shell: $ (the command that failed) 2>&1 >output-file.txt [20:37] isaacs: and then open up that file and copy/paste [20:37] tiemonster: or right click the toolbar and click mark, highlight, and then hit enter [20:37] isaacs: sure, or that [20:37] timeller: how do i use express to serve plain old html? i see that one can use jade, ejs, haml, etc, but writing "app.set('view engine' , 'html')" doesn't cut it. ideas? [20:37] tiemonster: I hate the windows console [20:37] isaacs: ACTION .oO( how do people even use windows? ) [20:37] tiemonster: don't know [20:38] tiemonster: I shudder every time I open it up [20:38] tjholowaychuk: timeller: html is not a template engine lol [20:38] dorkitude has joined the channel [20:39] tjholowaychuk: timeller: there is no need to use the view system for some html, that would just have useless overhead [20:39] tjholowaychuk: just use a ReadStream and pipe it to the response [20:39] timeller: tjholowaychuck: right (haha on me). so, here's my followup: [20:39] dorkitude: I would like to node that this is the real dorkitude, and not a bot. Anyone here got a tripreport on DuoStack? [20:40] dorkitude: s/node/note [20:40] F3RR4M3N745: http://pastebin.com/DAc9RHef [20:40] tjholowaychuk: timeller: you could use app.register('.html', callback) and create a dummy engine for html haha [20:40] F3RR4M3N745: Here [20:40] void__ has joined the channel [20:41] Poetro1: timeller: or use staticProvider [20:41] Sebmaster: timeller: how about the staticprovider [20:41] Sebmaster: :( too late [20:41] F3RR4M3N745: Here is the error: http://pastebin.com/DAc9RHef [20:41] gstrock has joined the channel [20:41] pandark_ has joined the channel [20:41] ryah: tjholowaychuk: what about just serving static files? [20:41] ryah: regarding timeller's question [20:41] timeller: tjh: i am trying to use protovis, which is a clientside library. it has syntax that goes beyond vanilla javascript. in html, i would write