[00:00] tjholowaychuk: i would just do (string of js -> string of instrumented js) -> (other module decides to execute with vm module, browser, etc)
[00:00] tjholowaychuk: -> browser or mod passes $cov global
[00:00] tjholowaychuk: to stats() or something, and it computes data like ".loc .sloc" etc
[00:01] chrisdickinson: hm.
[00:01] eignerchris has joined the channel
[00:01] DrMcKay: ACTION starts to read this discussion from the beginning to find out what's going on
[00:01] chrisdickinson: bunker does exactly that, though.
[00:02] tjholowaychuk: you could build it with bunker
[00:02] tjholowaychuk: but it's still not the same thing
[00:02] tjholowaychuk: it's just a weird api on top of uglify's ast
[00:02] tjholowaychuk: to do arbitrary things
[00:02] chrisdickinson: b = bunker(src); str = b.compile();
[00:02] brianseeders has joined the channel
[00:03] tjholowaychuk: maybe the examples just suck
[00:03] soapyillusions has joined the channel
[00:03] tjholowaychuk: ACTION goes to look
[00:03] brianseeders has joined the channel
[00:03] tjholowaychuk: to me it looked like a poor-mans visitor
[00:03] tjholowaychuk: or maybe that's burrito :s
[00:03] tjholowaychuk: so many abstractions..
[00:03] chrisdickinson: so many nouns.
[00:04] chrisdickinson: i'm actually using bunker exactly as you describe in runforcover: https://github.com/chrisdickinson/node-runforcover/blob/master/index.js#L110
[00:04] chrisdickinson: i take a js string, compile it down to another js string, provide my own context, and run it
[00:05] tjholowaychuk: ah, well yeah if that's what it does then great
[00:05] sfoster has joined the channel
[00:05] tjholowaychuk: didnt look like it did anything from the examples
[00:05] FiveLemon has joined the channel
[00:05] chrisdickinson: haha
[00:05] eee_c1 has joined the channel
[00:05] DrMcKay: tjholowaychuk, chrisdickinson: profiller?
[00:05] tjholowaychuk: though i still wouldnt use it anyway
[00:06] tjholowaychuk: you dont need three deps to write a damn node visitor
[00:06] chrisdickinson: tjholowaychuk: that's why i was adamant that the "context assignment" bit be separated from the "running it" bit
[00:06] chrisdickinson: DrMcKay: native js profiler and code coverage
[00:07] DrMcKay: chrisdickinson: native: in C or JS?
[00:07] chrisdickinson: DrMcKay: in js.
[00:07] chrisdickinson: the goal being to remove C from the equation entirely.
[00:07] tjholowaychuk: DrMcKay to get rid of jscoverage
[00:07] DrMcKay: chrisdickinson: definition of native changed soo much :D
[00:07] chrisdickinson: DrMcKay: haha :)
[00:08] tjholowaychuk: haha yeah "native" is pretty ambiguous
[00:08] chrisdickinson: tjholowaychuk: granted, 3 deps is a lil' silly. but they're small and pretty tightly focused.
[00:08] tjholowaychuk: i dont get why you need ast -> thing that invokes one callback -> thing that kinda generates cov -> cov
[00:08] tjholowaychuk: haha
[00:09] tjholowaychuk: ast -> visitor that generates cov
[00:09] tjholowaychuk: very easy
[00:09] tjholowaychuk: visit(node)
[00:09] tjholowaychuk: recurse, and you're done
[00:09] chrisdickinson: ACTION shrugs
[00:10] chrisdickinson: it works, and it was a good excuse to play around with burrito and bunker.
[00:10] chrisdickinson: i'm pretty happy with burrito's api, even if it is wrapping a fairly trivial operation.
[00:10] nibblebot has joined the channel
[00:10] tjholowaychuk: require('noop')
[00:10] tjholowaychuk: haha
[00:10] tjholowaychuk: is how i feel about it
[00:12] DrMcKay has joined the channel
[00:13] tjholowaychuk: ACTION not trying to be a douche
[00:13] chrisdickinson: it does make me wish there was a middleware layer for require.extensions, though.
[00:13] tjholowaychuk: agreed
[00:13] chrisdickinson: tjholowaychuk: no no, it's fine. i understand the distaste for dependency-propagation.
[00:13] tjholowaychuk: it would be _very_ handy to have that
[00:13] tjholowaychuk: maybe bring it up on the ML
[00:13] tjholowaychuk: I'd +1 it
[00:14] tjholowaychuk: we use it for transparent debugging stuff and assertions
[00:14] tjholowaychuk: / assert: 1+1
[00:14] chrisdickinson: cool, i'll write that out tonight
[00:14] tjholowaychuk: gurr
[00:14] tjholowaychuk: that's a comment
[00:14] tjholowaychuk: haha
[00:14] jgornick has joined the channel
[00:14] tjholowaychuk: // debug: rendering frame %d, i
[00:14] tjholowaychuk: etc
[00:14] blueadept: anyone know a method i can use to reload the routerObj object without restarting this app? http://pastie.org/private/i07c9ezixufxlqryp93wyq ;
[00:14] tjholowaychuk: but currently it's all in one big callback
[00:15] eignerchris has joined the channel
[00:15] joshthecoder has joined the channel
[00:15] chrisdickinson: tjholowaychuk: would it be a step like: js in -> compile -> js out + add extra bits to context?
[00:15] tjholowaychuk: the cov thing?
[00:15] chrisdickinson: the require middleware
[00:16] Ratty_: Do I need to manually add ./node_modules to the require.paths?
[00:16] int_64 has joined the channel
[00:16] tjholowaychuk: I guess just js -> fn1 -> fn2 -> eval
[00:16] tjholowaychuk: doubt the core team will want it though
[00:16] tjholowaychuk: unfortunately
[00:16] chrisdickinson: ):
[00:16] tjholowaychuk: it does suck though with how it is you just end up clobbering anything else that was defined
[00:16] tjholowaychuk: though I guess you could manually ref/wrap it
[00:16] tjholowaychuk: gotta run, later
[00:20] NHQ has joined the channel
[00:21] Ratty_: Is there an API to see what packages are installed in a project or is the only way to inspect the node_modules directory?
[00:21] DrMcKay: Ratty_: maybe npm offers something
[00:21] Ratty_: hmm yeah
[00:21] DrMcKay: Ratty_: try `npm list`
[00:23] DrMcKay: I *hate* emailing people in -0700 -.-
[00:24] DrMcKay: I have to wait till 4 AM or just do one email per day
[00:24] DrMcKay: that's so inconvenient.
[00:24] d0k has joined the channel
[00:25] NHQ: when I mkdir with mode 777 (OSX) I still get permission errors. When I try to open the directory in Finder, I am not allowed unless I change the permissions from Custom to Read and Write. Anybody know about this?
[00:25] NHQ: https://gist.github.com/1158384
[00:26] DrMcKay: NHQ: 0777
[00:26] NHQ: string or number?
[00:26] DrMcKay: number
[00:26] DrMcKay: it's octal
[00:27] davidbanham has joined the channel
[00:27] DrMcKay: wait, what, it's Sunday already?
[00:28] NHQ: @DrMaCkay I still got permission error with a leading 0
[00:28] NHQ: I haven't ha dthis problem on ubuntu
[00:28] DrMcKay: NHQ: I'm not even close to OS X expert, so I'm afraid I can't help you
[00:29] NHQ: i just tried '0777' and it worked :\
[00:29] DrMcKay: NHQ: oh, sorry, I didn't know it was string
[00:30] rgl has joined the channel
[00:30] NHQ: hm but '0644' didn't
[00:30] DrMcKay: wait, what? OS X accepts strings as permissions?
[00:30] NHQ: its a node thing, I think
[00:31] DrMcKay: !doc link fs#mkdir
[00:31] dmkbot: http://nodejs.org/docs/latest/api/fs.html#fs.mkdir
[00:31] charleyd has joined the channel
[00:31] NHQ: that was neat
[00:31] DrMcKay: NHQ: what?
[00:31] NHQ: that command
[00:31] zanes has joined the channel
[00:31] DrMcKay: NHQ: meet my bot :)
[00:32] NHQ: ok but going off this gist, you can see I mkdir and then try to write a file to it https://gist.github.com/1158384
[00:32] DrMcKay: yes, I see
[00:32] DrMcKay: too bad docs don't mention anything about mode
[00:32] NHQ: if the mode is changed to '0777' I can write the file, if it is changed to '0644', I get a permission error
[00:32] NHQ: yeah
[00:33] DrMcKay: if it should be a int, or string, or something
[00:33] NHQ: and using any int 777, 0777 or 0644 gives me permission errors
[00:34] chjj: youtube is using an image map
[00:34] chjj: old school
[00:35] copongcopong has joined the channel
[00:37] kepheus has joined the channel
[00:37] NHQ: plus I don't really want to be using 777 anyway
[00:38] kai_ has joined the channel
[00:38] level09 has joined the channel
[00:40] antono has joined the channel
[00:41] DrMcKay: NHQ: node casts this '0777' to int anyway
[00:43] NHQ: @DrMcKay yet when I set mode to 777 (int) I still get an error writing a file to that dir. Or with '0644' string :(
[00:43] ryanfitz_ has joined the channel
[00:43] unlink has joined the channel
[00:43] eignerchris_ has joined the channel
[00:43] CStumph has joined the channel
[00:44] elliottcable has joined the channel
[00:47] DrMcKay: NHQ: that's weird, what version are you using?
[00:47] DrMcKay: offtopic: you guys keep your old, merged branches on github or delete them when they get merged?
[00:47] cjm has joined the channel
[00:48] NHQ: I think 4.10 or so
[00:48] DrMcKay: NHQ: but it works on Ubuntu?
[00:49] chrisdickinson: DrMcKay: I try to delete them when they've been merged.
[00:49] chrisdickinson: of course, i also tend to forget until someone asks me if i delete my merged branches :P
[00:50] DrMcKay: chrisdickinson: I think I should actually write a script for that
[00:50] NHQ: yeah I have no trouble on ubunt
[00:51] NHQ: @DrMcKay okay, running node with sudo works for ints 644 and 777. running node w/o sudo works for '0777
[00:51] losing has joined the channel
[00:51] NHQ: str
[00:52] NHQ: wierd
[00:52] DrMcKay: NHQ: as hell
[00:52] NHQ: i should have to run suod tho
[00:52] k1ttty has joined the channel
[00:52] DrMcKay: anyone here running Mac OS X?
[00:52] NHQ: *shouldn't
[00:53] DrMcKay: NHQ: sorry, I can't help you, it looks like some OS X-specific thing :(
[00:54] vidi has joined the channel
[00:54] DrMcKay: whatever, I'm going to sleep
[00:54] NHQ: yeah, ima ignore it for now i guess
[00:54] NHQ: thx ne way
[00:54] DrMcKay: NHQ: my pleasure
[00:55] DrMcKay: bye folks, have a good day/night/whatever
[00:59] ecin has joined the channel
[01:01] achiu has joined the channel
[01:01] Eber has left the channel
[01:04] aah has joined the channel
[01:05] tylerstalder has joined the channel
[01:06] luke` has joined the channel
[01:07] luke`_ has joined the channel
[01:08] hlindset has joined the channel
[01:11] [[zzz]] has joined the channel
[01:12] mynyml has joined the channel
[01:13] [[zzz]] has joined the channel
[01:14] aah: hrurhg. is JSON built in to V8, or a node library? 'cause it's busted, busted, busted.
[01:15] losing has joined the channel
[01:16] aah: JSON.parse({"this": "is", "valid": "json, ain't it \\squeegee"})
[01:16] drakonite has joined the channel
[01:17] metaverse has joined the channel
[01:17] chrisdickinson: v8: JSON.member:parse('{"this": "is", "valid": "json, ain't it \\squeegee"}')
[01:17] v8bot_: chrisdickinson: SyntaxError: Unexpected token :
[01:18] chrisdickinson: v8: JSON.parse({"this": "is", "valid": "json, ain't it \\squeegee"})
[01:18] v8bot_: chrisdickinson: SyntaxError: Unexpected token ILLEGAL
[01:18] chjj: oo v8bot is back
[01:18] chjj: ACTION missed v8bot
[01:18] chrisdickinson: v8: JSON.parse('{"this": "is", "valid": "json, ain't it \\squeegee"}')
[01:18] v8bot_: chrisdickinson: SyntaxError: Unexpected identifier
[01:18] chrisdickinson: ACTION falls on his sword
[01:19] cjm has joined the channel
[01:19] cha0s has joined the channel
[01:19] cha0s has joined the channel
[01:19] level09_ has joined the channel
[01:19] Intuit` has joined the channel
[01:20] Remoun has joined the channel
[01:24] ji0n has joined the channel
[01:26] Juan77 has joined the channel
[01:27] int_64 has joined the channel
[01:30] eric_8th_Light has joined the channel
[01:36] aah: chrisdickinson: you see my problem, though. :P looks like I can use jsonlint
[01:36] chrisdickinson: aah: the issue is that double slash.
[01:36] aah: yep. it wants \\\\
[01:36] aah: but it can't have it!
[01:36] chrisdickinson: aah: it's getting coerced into a "\s"
[01:38] chrisdickinson: aah: https://gist.github.com/0b1897c3dc8800eb93d9
[01:38] aah: yep. going to have to do an annoying pre-replace.
[01:39] chrisdickinson: i think JSON.parse is actually right in this case -- there's no special character "\s"
[01:40] aah: but there doesn't need to be.. http://json.org/ shows this to be a valid string
[01:40] aah: it should be treating the parsing the \ into a \, dropping it into the output buffer, and moving on.
[01:41] aah: parsing the \ \
[01:41] aah: into the, etc.
[01:41] chjj: oh no, jesusabdullah is writing gists again
[01:41] chjj: ACTION gets an umbrella
[01:42] chrisdickinson: v8: [].slice.call('\\\\s')
[01:42] v8bot_: chrisdickinson: ["\", "\", "s"]
[01:42] chrisdickinson: the two backslashes are required to form a backslash according to json.org.
[01:42] aah: right. but then you're done. you don't use that backslash to escape the next char.
[01:43] chrisdickinson: right, but your input isn't '\\\\s'.
[01:43] MUILTFN has joined the channel
[01:43] chrisdickinson: v8: [].slice.call('\\s')
[01:43] v8bot_: chrisdickinson: ["\", "s"]
[01:43] chrisdickinson: so it goes into that '\' switch, and it can't find 's', so it throws an error.
[01:43] aah: oh, I see what you're saying
[01:43] aah: hrrm.
[01:44] orbx has joined the channel
[01:44] aah: strangely, jsonlint parses this happily.
[01:45] eric_8th_Light: Hello - I'm thinking of extracting a framework from my Javascript game. I already do all the testing in node - so I'm wondering if npm is the best choice
[01:45] eric_8th_Light: for distribution
[01:45] eric_8th_Light: it's all client side - so perhaps npm isn't the best option
[01:46] eric_8th_Light: If it is a good choice - does anybody know a good example of an npm package that is client side?
[01:51] jerrysv has joined the channel
[01:51] amerine has joined the channel
[01:51] temp01 has joined the channel
[01:53] towski has joined the channel
[01:58] Nuck: Anyone here work with any of these mail services like postmark or sendgrid or critsend?
[01:59] willwhite has joined the channel
[01:59] Nuck: I'm debating between one of those and a regular mail server like postfix.
[01:59] albertosheinfeld has joined the channel
[02:05] Leonidas has joined the channel
[02:06] sechrist has joined the channel
[02:07] nickshepherd has joined the channel
[02:08] Nuck: How do I detect if an email has bounced?
[02:08] freewil has joined the channel
[02:08] freewil has joined the channel
[02:09] smus_ has joined the channel
[02:12] ronnieboy has joined the channel
[02:16] AAA_awright: Nuck: You get an email back saying "Hi I bounced"
[02:16] admc has joined the channel
[02:16] AAA_awright: It's the cutting edge of computer science, right there
[02:17] galaxywatcher has joined the channel
[02:17] ryan0x2 has joined the channel
[02:18] guybrush: eric_8th_Light: checkout browserify https://github.com/substack/node-browserify
[02:18] jtsnow has joined the channel
[02:19] guybrush: npm -> browserify({require:'npm-package'}) ->
[02:21] SubStack: or with entries you don't even need to specify the require:'npm-package' part
[02:21] Nuck: AAA_awright: What I mean is, how do I detect spam-filtered
[02:22] Nuck: Like how do I roll my own Postmark-kinda thing?
[02:22] Nuck: $1.50 is cheap, but I'd rather not rely on anybody but myself :P
[02:23] Nuck: AAA_awright: Look at all these bounce types: http://developer.postmarkapp.com/developer-bounces.html#get-bounces
[02:23] fdenbow has joined the channel
[02:23] Nuck: That is a LOT of granularity
[02:24] harthur has joined the channel
[02:24] Nuck: I dig the idea, not the company or product.
[02:24] Nuck: I'm sure it's damn good service, but they rely on a single host which I think is a recipe for failure.
[02:24] Nuck: Rackspace may be good but they ain't perfect
[02:29] Nuck: SubStack: Hey, you handle credit cards and shit with Browserify right?
[02:29] Nuck: I'm in the market for a payment gateway >_>
[02:30] zanes has joined the channel
[02:30] SubStack: wha?
[02:30] SubStack: for browserling you mean
[02:30] Nuck: Yeah that thing
[02:30] SubStack: yeah we just use paypal 'cause we're lame like that
[02:30] Nuck: srowser*
[02:30] Nuck: SubStack: aahhh
[02:30] Nuck: I don't trust them :/
[02:30] Nuck: I hear they have some nasty practices.
[02:30] heavysixer has joined the channel
[02:30] SubStack: probably
[02:31] Nuck: I read a story on HN where they nearly screwed over a conference.
[02:31] heythisisdave has joined the channel
[02:31] SubStack: we're definitely going to switch to something nicer eventually
[02:31] SubStack: too much stuff to build in the meanwhile
[02:31] AAA_awright: Nuck: Generally you don't get to know if a message was discarded as spam or not
[02:32] Nuck: AAA_awright: How does postmark do it? >_>
[02:32] AAA_awright: It can't with any accuracy
[02:33] Nuck: AAA_awright: Can't you request a return reciept.
[02:33] AAA_awright: Those are annoying and a lot of mail clients simply ignore them anyways
[02:34] Emmanuel` has joined the channel
[02:34] AAA_awright: Spam has made it a negative to know if your message was read or not, you don't want to let spammers know you're reading their messages
[02:34] soapyillusions has joined the channel
[02:34] Nuck: AAA_awright: I can include HTML images with unique IDs
[02:35] AAA_awright: Modern clients won't load remote content without user permission
[02:35] Nuck: :/
[02:35] Nuck: There needs to be a way to detect where an email heads
[02:35] Nuck: Whether it hits the spambox or not
[02:36] AAA_awright: My lapop currently has Thunderbird on an email that just came in and it's asking me "To protect your privacy, Thunderbird has blocked remote content in this message [Show Remote Content]"
[02:36] Nuck: I know that
[02:36] Nuck: Gmail does it too
[02:36] Nuck: The question I still have is, is psotmark worth it?
[02:37] Nuck: Is it at all better than postfix or dovecot?
[02:37] Yoric has joined the channel
[02:38] AAA_awright: I can't tell what the net benefit is
[02:39] AAA_awright: Postfix is a bit antiquidated, storing email for system users
[02:40] AAA_awright: What if you just want to call an application every time you receive an email, for instance, that sounds like a Node.js listner would be better
[02:41] jerrysv: nuck: how much are you willing to pay
[02:41] jerrysv: nuck: we were paying ~10k/month to track whether we were hitting the spam box or the inbox
[02:41] carmony has joined the channel
[02:43] jerrysv: and to make sure we hit the inbox
[02:44] nickshepherd has left the channel
[02:44] temp01 has joined the channel
[02:46] nuck-mobile has joined the channel
[02:46] nuck-mobile: Ugh my computer froze.
[02:47] nuck-mobile: Some mixture of mIRC and Chrome, with a bit of Skype thrown in.
[02:47] achiu has joined the channel
[02:47] alnewkirk has joined the channel
[02:47] nuck-mobile: So, did I miss anything?
[02:47] unlink has joined the channel
[02:47] unlink has joined the channel
[02:48] nuck-mobile: Man this iPhone client sucks ass. Tempted to pick up Colloquy mobile
[02:49] nuck-mobile: It's $2, so I can afford it... I'm just too damn cheap lol. That's a whole 1,300 emails on Postmark!
[02:50] ryanfitz has joined the channel
[02:50] AaronMT has joined the channel
[02:52] nuck-mobile: God this is the third time I've had to hard boot in 2 days. This is just plain pathetic.
[02:53] nuck-mobile: Oh now THAT is fucked up. Windows decides to update without even asking me.
[02:54] jerrysv: nuck: how much are you willing to pay
[02:54] jerrysv: nuck: we were paying ~10k/month to track whether we were hitting the spam box or the inbox
[02:54] jerrysv: and to make sure we hit the inbox
[02:54] jerrysv: (is what you missed)
[02:54] mcluskyd_ has joined the channel
[02:54] nuck-mobile: Well I'm a cheapskate with a very small budget lol
[02:54] cjm has joined the channel
[02:54] jerrysv: and the company we were using is out of business
[02:55] nuck-mobile: Oh really?
[02:55] nuck-mobile: Looking at postmark, it seems like a good option.
[02:55] jerrysv: yeah, they had agreements with all of the big mail providers, then those deals started being broken - they didn't last long after that
[02:56] nuck-mobile: Might try setting it up later and checking all the headers postmark uses...
[02:56] smathy has joined the channel
[02:56] nuck-mobile: If I find their headers I might be able to reproduce high reliability >_>
[02:56] jerrysv: i haven't used postmark, we use message systems and postfix
[02:57] nuck-mobile: Hows the reliability with that?
[02:57] jerrysv: our emails are signed, that's what helps with our reliability
[02:57] nuck-mobile: Ah, signed?
[02:57] jerrysv: we're delivering something in the realm of 3-5 million emails/day
[02:57] mcluskydodallas has joined the channel
[02:57] jerrysv: but that's not my department, so my knowledge is pretty shallow on the topic
[02:57] ditesh|cassini has joined the channel
[02:58] nuck-mobile: We're gonna be much slower that that, something like 50 a day moat likely. Might grow to 500 a day but probably not much more. Well have registration, recovery, and promotions
[02:59] jerrysv: do you have a feed back loop set up?
[02:59] jerrysv: most larger mail providers (aol, yahoo, etc) will whitelist you if you can prove you have a good feed back loop
[03:00] jerrysv: eg, if a user hits "this is spam", that you process that as an unsubscribe or do not contact
[03:00] nuck-mobile: Feedback loop? How do I manage that?
[03:01] nuck-mobile: What happens when I press that little button, and how do I hook it?
[03:01] jerrysv: http://postmaster-blog.aol.com/2009/12/08/feedback-loops-de-mystified/
[03:02] colinclark has joined the channel
[03:02] jerrysv: it can vary from isp to isp, so you'll have to find the corresponding documentation for each of them
[03:03] eee_c has joined the channel
[03:03] nuck-mobile: Ah thanks I'll look into that. Hopefully this will save me that $1.50 :P
[03:03] seivan has joined the channel
[03:03] jerrysv: heh, good luck :)
[03:04] jerrysv: and you don't need messagesystems if you're delivering that little of mail
[03:04] nuck-mobile: I figured :P
[03:06] jamesp has joined the channel
[03:06] Nuck has joined the channel
[03:07] Nuck: Good to be back on my computer :B
[03:08] addisonj_ has joined the channel
[03:08] ekryski has joined the channel
[03:13] antono has joined the channel
[03:13] MUILTFN has joined the channel
[03:14] ditesh|cassini has joined the channel
[03:16] meso has joined the channel
[03:19] sebastia_ has joined the channel
[03:23] boehm has joined the channel
[03:24] gerard0` has joined the channel
[03:24] meso has joined the channel
[03:25] avalanche123 has joined the channel
[03:28] Carter1 has joined the channel
[03:28] Carter1: howdy
[03:29] cjm has joined the channel
[03:30] Nexxy has joined the channel
[03:30] Nexxy has joined the channel
[03:33] misterm has joined the channel
[03:33] Carter1: is the node.js community getting pretty big now?
[03:34] SubStack: it's this big: |-----------------------|
[03:34] Carter1: impressive
[03:34] Nuck: SubStack: That's bigger than your penis.
[03:34] Nuck: :B
[03:35] Nuck: Then again
[03:35] Nuck: If it were bigger than a community, I'd be alarmed.
[03:35] SubStack: flaps of meat and programming communities aren't very comparable
[03:36] Nuck: SubStack: Well, they both tend to be attached to guys.
[03:36] AAA_awright: -->| |<--
[03:36] mrchess has joined the channel
[03:36] softdrink has joined the channel
[03:39] Carter1: do you guys have a minute, to give me some advice?
[03:40] AAA_awright: Carter1: Don't ask to ask, just ask
[03:41] Carter1: so, my friends and i are forming a nonprofit that will be based around a webservice that helps disaster suvivors, volunteers, nonprofits and govt agencies
[03:42] robotarmy has joined the channel
[03:42] Carter1: just wanted to see what features we want to provide would be best written in. i know node.js is very good at handling certain types of workloads
[03:42] mrchess: how much traffic are you expecting?
[03:43] Carter1: well, our goal is to be the one site that people go to for missing person reports, submitting needs and finding them, amongst other things
[03:43] Carter1: right now, there is no site out there that does it
[03:43] Carter1: so whenever a disaster strikes it could get hammerd quite a bit
[03:44] mrchess: you can probably write a site like that in anything you want
[03:44] mrchess: node, ruby, php, whatever
[03:44] Carter1: i'm sure it could be written in ruby or php
[03:44] mrchess: it might even be easier to use wordpress if its mostly form submissions and if you want something quick
[03:44] Carter1: that doesn't mean thats the best langauge choices though
[03:45] mrchess: i dont think node would give you any edge over the other two
[03:45] Carter1: especially if you're a nonprofit, you want to use what little resources you have effectively, both ruby and php aren't resource frugal
[03:45] mrchess: but ruby and php frameworks are well documented and common, might be easier to find help
[03:46] daed: gotta admit, i'm a ruby guy :(
[03:46] daed: i want to get into node.js, hard to though
[03:46] Carter1: http://adrienolczak.eu/poster/relief1.org/index.html#
[03:46] Emmanuel`: daed: yeah but once you get started, it's super duper efficient
[03:46] Carter1: this is our first draft of a teaser site we are creating
[03:46] daed: efficient how?
[03:47] daed: is there a large library i'm missing?
[03:47] Emmanuel`: daed: efficient in term of development speed
[03:47] Emmanuel`: and final product quality
[03:47] Emmanuel`: and fun
[03:47] daed: that's how i feel about ruby as well
[03:47] Carter1: isn't node like an order of magnitiude faster
[03:47] mrchess: emmanuel: argubably that could be said about any language
[03:47] daed: i actually love writing jquery though too, i don't mind js as a language
[03:47] mrchess: :o
[03:48] daed: is jquery considered taboo by the node community? i mean it doesn't really apply server side
[03:48] daed: but still
[03:48] Emmanuel`: it's not taboo as far as I know
[03:48] daed: i've been lusting over coffeescript too
[03:48] daed: does coffeescript apply to node at all?
[03:48] mrchess: carter: no. not necessarily
[03:48] mrchess: daed: yes you can write your node apps in coffee
[03:48] Emmanuel`: yes, lots of node module uses coffeescript
[03:48] mrchess: coffee is just syntatic sugar
[03:48] daed: nice!
[03:48] daed: yeah
[03:49] daed: figured it would be fine
[03:49] daed: is there a standard library for node?
[03:49] Emmanuel`: mrchess: agree, but they are all good for different things
[03:49] Emmanuel`: some of them are good for nothing
[03:49] Emmanuel`: daed: the core :)
[03:49] daed: interesting
[03:49] Emmanuel`: you have a lot of method that are integrated in the core
[03:50] Carter1: mrchess: is it possible to scale node.js across multiple servers, datacenters and have it be fault tolerant?
[03:50] Emmanuel`: like http/socket handling
[03:50] daed: seems like node was built from the ground up with sockets in mind
[03:50] daed: ahhh
[03:50] Emmanuel`: daed: yes
[03:50] mrchess: carter: think about it this way. rails took twitter up to millions before they shifted
[03:50] daed: fault-tolerance.. how does node.js compare to erlang in that sense?
[03:50] daed: mrchess; and they're still rails on the frontend
[03:50] daed: rails is abstracted enough that you can swap out any layer at will
[03:50] Emmanuel`: it's all about the way you use/program it I think
[03:51] daed: or remove it entirely
[03:51] daed: one thing i've wondered.. how does node.js compared to the standard C/C++ epoll/etc style of sockets?
[03:51] Carter1: mrchess: that's true
[03:51] mrchess: personally i like node, but if i were starting a huge project i might consider rails just because rails developers are more accesible
[03:52] daed: node and rails are entirely different
[03:52] mike5w3c_ has joined the channel
[03:52] daed: node could easily serve a webservice called by a rails app
[03:52] daed: apples and oranges i'd say
[03:52] Emmanuel`: daed: from my point of view, it makes socket usage much easier
[03:52] Emmanuel`: and allow you to do cool stuff without caring much about the boring parts
[03:52] daed: node could even be a server for an asp.net app *shudder*
[03:53] Carter1: mrchess: what if you use express?
[03:53] oceanspray_: deoxxa: node.js socket standard is very much like epoll
[03:53] oceanspray_: dead*
[03:53] daed: very much like?
[03:53] daed: being javascript though, isn't there more overhead than straight epoll?
[03:53] daed: or are there advantages?
[03:54] Carter1: mrchess`: or geddy
[03:54] amerine has joined the channel
[03:54] mrchess`: i mean they are all really good
[03:54] mrchess`: its really hard to pick
[03:54] mrchess`: there is no clear winner
[03:55] mrchess`: if you have access to more rails developres, go rails
[03:55] Nexxy: when in doubt go with the one that has the coolest name and prettiest logo
[03:55] mrchess`: if you have access to js developres, go js
[03:55] mrchess`: if you are interested in node more than rails, go node
[03:55] mrchess`: regardless of what you pick you can definitely build your project on either platform
[03:55] Nexxy: the question is; will you regret it?
[03:55] smathy has joined the channel
[03:55] Nexxy: with ruby, the answer is yes.
[03:55] Carter1: would you regret using node?
[03:55] Nexxy: NEVER
[03:55] Carter1: lol
[03:56] mrchess`: thats opinionated imo
[03:56] mrchess`: :p
[03:56] Nexxy: yes
[03:56] Nexxy: it is
[03:56] mrchess`: haha
[03:56] Carter1: i love honesty
[03:56] Nexxy: rails is a pile
[03:56] Nexxy: people that have worked with it for years
[03:56] mrchess`: u'll run into rails problems but will you really achieve that intesity of traffic
[03:56] Nexxy: know that as fact
[03:56] daed: nexxy; :(
[03:56] daed: that's just mean.
[03:56] mrchess`: node.. might cripple you in terms of being able to find talent
[03:56] Carter1: aren't there a lot of JS developers out there?
[03:56] Nexxy: http://npmtop.nodejitsu.com/
[03:56] daed: i'm struggling to hire a sr. ruby/rails dev here
[03:57] mrchess`: right, but just because u do js doesnt mean you do node
[03:57] Nexxy: daed, take it as a sign
[03:57] Nexxy: and roll w/ node
[03:57] mrchess`: js can also be strictly server side
[03:57] daed: nexxy; there's no way in hell i could find a node dev here
[03:57] Carter1: so i could easily go with PHP, but that would lead to other issues
[03:57] Nexxy: daed, I think you forgot to add "with the amount of money I have"
[03:57] Nexxy: ;P
[03:57] Emmanuel`: daed: where are you ?
[03:57] mrchess`: on a tangent: does anyone using socket.io 0.7 run into (node) Hit max file limit. problems?
[03:58] daed: emmanuel; orlando
[03:58] daed: lack of talent down here
[03:58] daed: however
[03:58] daed: i have to displace the php retards.
[03:58] daed: rails > php-anything
[03:58] Nexxy: and you call me mean for saying rails is a pile
[03:58] Yoric has joined the channel
[03:58] daed: well yes, naturally :P
[03:58] daed: i still <3 javascript
[03:59] Nexxy: but php-fpm + nginx + apc
[03:59] daed: blegh
[03:59] Nexxy: > rails
[03:59] Carter1: mrchess`: i agree with you though, you're being practical, i'm wanting to be a dreamer
[03:59] daed: oh sure
[03:59] chjj: i think i would choose php over rails if i could use php whatever way i wanted to
[03:59] daed: combine 3 things and say it's better than rails alone
[03:59] Nexxy: lol
[03:59] Nexxy: and rails is what without ruby?
[03:59] daed: well that's 2 things
[03:59] mrchess`: carter: i feel like you want to hear node is the right choice. it's not like that
[03:59] Nexxy: and don't try to tell me you build rails apps w/o something like redis or memcached
[03:59] Nexxy: cuz I will LOL heartily
[04:00] oceanspray_: daed: sure there's overhead in sock.on('data') compared read(fd, buf, size), but not there's no overhead from the api, since the api is like epoll/poll/select
[04:00] daed: we actually have a giant stack
[04:00] Nexxy: I've heard that before
[04:00] daed: rails just does some of the organization/UI
[04:00] Nexxy: including SQLite in production, right?!
[04:00] Nexxy: ;P
[04:01] chjj: sqlite is pro, dont talk ill about sqlite!
[04:01] jerrysv: anyone? best of breed file-based datastore?
[04:01] Nexxy: chjj, I have 0 problem with sqlite
[04:01] Nexxy: I take issue with the retarded rubyists that think it's a web scale db solution
[04:01] Nexxy: lol
[04:01] tk has joined the channel
[04:02] jerrysv: or is node-sqlite / node-sqlite3 the best way to go still?
[04:02] chjj: i can make anything webscale, i AM webscale
[04:02] Nexxy: ACTION sighs
[04:02] Nexxy: no, you are the devil
[04:02] chjj: which one is orlandov's?
[04:03] chjj: im not sure, ive heard node-sqlite3, which was originally a fork of orlandov's binding is a little bit more maintained?
[04:03] hakunin has joined the channel
[04:04] Carter1: Nexxy: mongodb is good for somethings, but not everything
[04:04] chjj: someone write a database thats better than everything please
[04:04] chjj: i would do it, but im not smart enough
[04:04] Nexxy: Carter1, I'm glad you were able to find a use for mongo ;P
[04:04] chjj: someone smarter than me should
[04:04] jerrysv: chjj: we use a combination of technologies to scale
[04:05] Carter1: mrchess`: nod, you're probably right
[04:05] jerrysv: but mostly aggressive caching
[04:05] luke` has joined the channel
[04:08] ryan[WIN] has joined the channel
[04:11] alnewkirk has joined the channel
[04:14] freewil has joined the channel
[04:14] freewil has joined the channel
[04:17] mynyml has joined the channel
[04:18] smus has joined the channel
[04:18] ag4ve has joined the channel
[04:19] jimt_ has joined the channel
[04:20] slickplaid: Anyone know if Akamai sells to smaller businesses/websites/people who need small (cheaper) solutions? or are they strictly high dollar stuff? (ie need to go through a reseller like rackspace to afford)
[04:21] Carter1: slickplaid: what about https://www.cloudflare.com/
[04:23] butu5 has joined the channel
[04:24] slickplaid: hmm okay... thanks Carter1
[04:25] slickplaid: mainly just looking for a CDN for HD video streaming
[04:25] jerrysv: cloudfront
[04:26] jerrysv: http://aws.amazon.com/cloudfront/pricing/
[04:27] slickplaid: Thanks
[04:27] slickplaid: teetering between amazon and rackspace
[04:33] ronnieboy has joined the channel
[04:37] _root_ has joined the channel
[04:40] zomgbie has joined the channel
[04:42] ag4ve has joined the channel
[04:45] butu5 has joined the channel
[04:45] butu5: hello guys
[04:46] SubStack: greetings puny human
[04:46] albertosheinfeld has joined the channel
[04:51] asabil has joined the channel
[04:52] markdaws has joined the channel
[04:55] felixge has joined the channel
[04:55] progrock: slickplaid: at my job, we switched from amazon to rackspace.. so far very happy ith the move
[04:55] slickplaid: Yeah?
[04:55] progrock: yup.. and I moved most of my personal servers to rackspace as well
[04:55] slickplaid: Yeah I think we're making the right choice with rackspace
[04:56] SubStack: a felixge appears!
[04:56] SubStack: slickplaid: talk to felixge about video as a service
[04:56] progrock: Amazon had issue after issue after issue... which got us very good at automating the deployment process, etc... but it was horendous
[04:56] progrock: slickplaid: what kinda of material you planning on hosting
[04:56] slickplaid: HD Video
[04:57] progrock: ie.. space/bandwidth intensive, cpu intensive.. memory intensive....
[04:57] SubStack: felixge is one of the transloadit folk
[04:57] slickplaid: space/bandwidth
[04:57] slickplaid: probably going to use transloadit for encoding
[04:57] progrock: Ok, well rackspace has faster disk speed (at least from out benchmarks) and gives you much more cpu power
[04:57] slickplaid: just looking at the first month having like 250gb of video (total, in and out) being like $600... more than half our budget lol
[04:58] progrock: I take it this is a relatively serious project? Ie. your plannign to spend thousands a month on servers?
[04:58] progrock: hmmm
[04:58] slickplaid: but, i suppose once it's paid for and usage levels off, it'll even itself out
[04:58] slickplaid: (video is encoded, and on the CDN/CloudFiles)
[04:59] progrock: well, this ay or may not fit you needs (not sure what kind of sustained bandwidth you need).. but I really like my other vps provider, rapidzen.. tey provide a2 mbps ine per a server (technically faster if you dont abuse the servers)... flat rate, no over charges even possible
[04:59] slickplaid: This is all stuff I should be contacting transloadit directly about :D no need to pollute the node.js channel lol
[04:59] progrock: AND you can get serevrs for as low as ~$6 a month with the 2mbps bandwidth
[04:59] slickplaid: Well, I've worked with a friend who has a smaller video hosting site that has a 1gbps dedicated server
[05:00] progrock: in other words.. 20 smal VPSes may give you a ton of bandwidth, and can be very cheap
[05:00] slickplaid: and it works decently well, just balks at high traffic periods at times
[05:00] progrock: well, with enogh of them load balanced.. you may be abel to get a killre service for penies on the dollar in comparison
[05:01] slickplaid: yeah, true... just a lot of setup to get an army of servers together... half the reason the premium is paid for CDN
[05:01] slickplaid: all that work is done already
[05:01] felixge: SubStack: that wasn't me appearing, that was my laptop powering on in order to play music over the wireless to wake me up :)
[05:01] felixge: but now it's me
[05:01] SubStack: aha
[05:01] slickplaid: WoL as an alarm clock... neat idea
[05:02] progrock: slickplaid: littlevps.net is also wned by the same guy as rapidxen (the guy runs his own irc servers for tech support.. realy nice guy, the owners irc nick is nenolod
[05:02] felixge: slickplaid: WoL?
[05:02] slickplaid: wake and bake on lan? :D
[05:02] fangel has joined the channel
[05:02] progrock: slickplaid: if you use tools to help you automate.. its pretty trivial to set up a unch of servers
[05:02] jerrysv: aha, felixge, just who i was hoping to run into
[05:02] progrock: but rackspace's backup and retore is pretty nice
[05:02] dexter_e has joined the channel
[05:02] slickplaid: Yeah, kinda trying to shy away from having to manage that
[05:03] jerrysv: felixge: i'm looking at dirty, and saw that there's a drain event -- but was wondering if it's possible for me to trigger a drain directly
[05:03] unlink has joined the channel
[05:03] unlink has joined the channel
[05:03] felixge: slickplaid: we'd love to help with your encoding, just shoot an email to support and we'll try to give you the discount needed for things to make sense
[05:03] jerrysv: or if it happens on every set, and the event is just notification
[05:04] felixge: jerrysv: I wouldn't know
[05:04] slickplaid: felixge: Will do. 95% sure we'll be going with Transloadit. :)
[05:04] jerrysv: felixge: this isn't yours? https://github.com/felixge/node-dirty
[05:05] slickplaid: Just kinda looking at a user uploading a 1gb HD video, then it needing to be transcoded for 1080p, 720p, 480p, 360p in several different formats to support html5 video and flash. Wondering exactly how much that final bandwidth number is going to be for $$
[05:05] felixge: jerrysv: it has my name on it, but I haven't done any work on it since Sep 2010 ... :)
[05:05] felixge: so you know as much about it as I do
[05:05] felixge: : )
[05:06] progrock: slickplaid: I'd sti check out rapidxen/littlevps.net... the minimal $6-$7 a month server is pretty damn powerful.. and they are as reliable as any VPS I;ve ever dealt with
[05:06] tilgovi has joined the channel
[05:06] tilgovi has joined the channel
[05:06] slickplaid: Thanks progrock, I'll check them out.
[05:06] progrock: and I have servers with amazon, linode, rackspace, and rapidxen :)
[05:06] jerrysv: felixge: randomly accepting pull requests then? :)
[05:06] felixge: progrock: good luck trying to encode 1GB HD in 4 formats ... :)
[05:07] felixge: progrock: on a VPS
[05:07] jerrysv: i see, flushes on set, unless a flush is occurring
[05:07] slickplaid: felixge: Yeah... lol :(
[05:07] felixge: progrock: I mean if your users can wait ~4 hours for each upload, it may work ... :)
[05:07] niftylettuce: any tips for streaming mp3's through node to or jplayer?
[05:07] felixge: we encode exclusively on 8 core machines
[05:07] niftylettuce: I saw TooTallNate's icecast stream stuff, but I think that might be overkill
[05:07] niftylettuce: (not really our purpose)
[05:07] progrock: felixge: well my company has dedicated hardware at rackspace on top of the cloud ardware
[05:07] progrock: plus the cloud hardware has something liek 60+gb ram servers
[05:08] progrock: I think tey can hande it
[05:08] felixge: progrock: for $6-7 / month? :)
[05:08] progrock: but we dont toy with videos, lol... we're a fiannce company
[05:08] slickplaid: half tempted to just say HTML5 only for webm, flash fallback for everyone else with a big middle finger.
[05:08] progrock: felixge: .... please dont be retarded and think I was saying he could run his whole service on 1 machine liek that
[05:08] progrock: I was more recommending 50
[05:09] felixge: progrock: anyway, I agree that we charge more than our internal hardware costs ... we kind of have to as a business : ). But OTOH you don't have to write Software to support hundreds of formats and quirks you'll run into with video encoding
[05:09] slickplaid: felixge +1
[05:09] progrock: felixge: where do you work?
[05:09] felixge: progrock: please don't suggest I might be retarted, I just woke up ... alright, but still :)
[05:09] felixge: progrock: transloadit.com
[05:10] slickplaid: eliminating the work for a small dev team on transcoding, uploading, etc is quite nice.
[05:10] felixge: slickplaid: about pricing: It will cost 4x the GB + the combined output size of all formats
[05:10] felixge: slickplaid: unless you use the outputs of each format as the input for the next step
[05:10] felixge: slickplaid: this will mean the encodings will have to happen one after another instead of parallel, but it'd be much cheaper
[05:10] felixge: slickplaid: either way, email us about a discount and we'll handle it :)
[05:11] slickplaid: felixge: sounds great, emailing now.
[05:11] progrock: heh, we biased I'm sure... and yeah... I'm not even gonna argue on this one.... I definitely dont give a shit... and video encoding is the last thing I care about
[05:11] progrock: well*
[05:12] felixge: ok, time for a shower / morning walk. back in a bit
[05:13] progrock: damn it, I need to write a legit point behavior for d3
[05:13] progrock: not in the mood to
[05:14] perezd has joined the channel
[05:15] antono has joined the channel
[05:18] MUILTFN has joined the channel
[05:20] Spion_ has joined the channel
[05:20] JakeyChan has joined the channel
[05:21] butu5 has joined the channel
[05:24] Spion has joined the channel
[05:24] admc has joined the channel
[05:25] marlun has joined the channel
[05:25] marlun has joined the channel
[05:25] SubStack: check this out:
[05:25] SubStack: https://github.com/substack/http-browserify
[05:25] SubStack: you can now require('http') in the browser
[05:26] brainproxy: SubStack: awesome!
[05:26] Nuck: What should I use for mustache templates?
[05:26] progrock: man, I take it defineProperty is far from supported by all the top browsers
[05:26] Nuck: Just mustache or Mu?
[05:27] confoocious has joined the channel
[05:27] confoocious has joined the channel
[05:28] progrock: lol, hmm, anyone atually program JavaScript in here
[05:28] progrock: ? ;)
[05:28] Nuck: ...
[05:28] jmoyers has joined the channel
[05:28] Nuck: No, we all do Ruby.
[05:28] Nuck: Not a single JavaScripter among us.
[05:29] progrock: .. I wouldnt be surprised.....
[05:29] catb0t: SyntaxError: Unexpected identifier
[05:30] Nuck: progrock: Seriously, everybody here should know JS.
[05:30] Nuck: If they don't, we generally slap them.
[05:30] dexter_e has joined the channel
[05:30] SubStack: javascript? people still use that?
[05:31] Nuck: SubStack: I hear PHP is better.
[05:31] progrock: wel, great conversation then, lol.. no one even has anything to say about definePopert.. or the similar getter/setter functions
[05:31] Nuck: I hear it's great because it's so slow that it forces your users to learn patience.
[05:32] Nuck: Somebody found an issue in my https://gist.github.com/0d651314e66dfd2675e3 parser thingy
[05:33] Nuck: Now that I want to use it seriously, I need to fix that issue
[05:33] Nuck: I think it was something with a type?
[05:33] Bogh has joined the channel
[05:33] Nuck: v8: typeof null
[05:33] v8bot_: Nuck: "object"
[05:34] alex__ has joined the channel
[05:34] zomgbie has joined the channel
[05:35] Nuck: v8: var obj = null, str = '{foo} bar'; for (var key in obj){ str = str.replace( '{'+key+'}', obj[key].toString() ); }
[05:35] v8bot_: Nuck: undefined
[05:35] progrock: Nuck: ummm... why did you program that?.. to accomplish what?
[05:35] sethuhdiah has joined the channel
[05:36] Nuck: progrock: That line?
[05:36] Nuck: It's a chunk of my parser
[05:36] progrock: what i;m sayin is.. whats the use.. ooks ike you are going through a lot of effort o do a trivial thing
[05:36] Nuck: It's essentially a very basic subset of mustache with only one curly brace
[05:36] Nuck: Not at all
[05:36] Nuck: I know what I'm doing ;)
[05:37] Nuck: most of the code in my parser is error and type checking
[05:37] progrock: oh.. just doing templating?
[05:37] Nuck: As well as argument handling
[05:38] sethuhdiah: is there an easy way i can tell if nodejs is installed right.. when i view a simple nodejs example i get "reference error "required" not defined"
[05:38] progrock: heh, I was more getting at text parsing is just ugly in JS.. an usually theres a better way to do whatever you are
[05:38] Nuck: sethuhdiah: You're fucking up and doing "required()" instead of "require()" I think ;)
[05:38] Nuck: Probably just a simple typo.
[05:39] Nuck: progrock: Not reliably.
[05:39] sethuhdiah: nah its require.. so i fucked up installing
[05:39] Nuck: sethuhdiah: Eh, no, that's Node giving you an error.
[05:39] Nuck: On your code.
[05:39] Nuck: Are you SURE you didn't use "required" at all?
[05:40] sethuhdiah: yea buddy im just trying to run one of the test scripts that came with
[05:40] chjj: progrock: what do you mean "text parsing is ugly in js"?
[05:40] Nuck: sethuhdiah: Are you telling me that it's fine without checking?
[05:41] progrock: Nuck: obviously I dont know all the details, or the reasoning.. nor am I the biggest fan of server side JS (well, I love the no context switch between front end, node, and mongo) but beond that... I agre with how my company has shit set up... scala on the backend (since we need the ability to test the backend calculaions pretty seriously
[05:41] chjj: scala
[05:41] Nuck: progrock: Then you underestimate the power of NodeJS.
[05:41] Nuck: JavaScript is an absolutely beautiful language.
[05:41] Nuck: And Node just makes it better.
[05:41] progrock: chjj: obviously depends on what you are doing.. but in most cases where I see people using text parsing in JS, it owuld have been btter to use closures (again, likely not the design goal of whatever Nuck is doing... im sure he has reasons for it)
[05:42] seivan has joined the channel
[05:42] chjj: sorry, i just kind of jumped in here, i dont know what nuck is doing
[05:42] Nuck: progrock: I'm a heavy user of closures. I seriosuly use them as much as a hobo uses drugs.
[05:42] Nuck: But, I can't see why you would muck up the elegance of this code with a closure.
[05:42] chjj: im just confused by that one statement, "text parsing is ugly in js"
[05:43] progrock: Nuck: I'm a huge JS fan... but between the type checking, and the purely functional code in scala... not to mention it strick and static typing.... defntely makes testing, especially the financial calculations my company does, much asier and more powerful
[05:43] progrock: easier*
[05:43] Nuck: ... "purely functional"
[05:43] jerrysv has joined the channel
[05:43] Nuck: THAT makes me want to shoot somebody.
[05:43] Nuck: Functional code IS NOT better.
[05:43] SubStack: pretty sure scala isn't a pure functional language
[05:43] progrock: lol
[05:43] Nuck: In many cases, it is actually WORSE.
[05:43] Nuck: People need to grow up and realize they're all DIFFERENT TOOLS
[05:43] chjj: i have a better point of note: scala is scala
[05:44] SubStack: clean, pure, haskell, ok sure
[05:44] Nuck: OOP is great for many, MANY situations.
[05:44] progrock: Nuck: when it comes to unit testing mathematical code.. purely function code with no side effects is MUCH easier to test... you can GAURANTEE ti works 100% from etsting and type checking
[05:44] SubStack: although in haskell you can still do unsafePerformIO >:D
[05:44] progrock: Nuck: scala is also OO.....
[05:44] Nuck: Evented paradigms are great for some situations
[05:44] chjj: holy holy, am i listening to nuck or an imposter nuck?
[05:44] Nuck: And functional paradigms in another
[05:44] Nuck: It's all different things.
[05:45] progrock: Nuck: yeah.. well, this specific task is more or less the ideal case for where functional is definitely better.. again, these arent universal statements.. they are directly related to what we are using scala for
[05:45] Nuck: People get into these "camps" where they refuse to accept anything but their perfect language. We've all done it before. I'm guilty of hating on CoffeeScript.
[05:45] kmiyashiro has joined the channel
[05:45] chjj: if its the kind of scala thats implemented in java, i dont want to hear about it
[05:45] progrock: man, your not even listening
[05:46] progrock: well, I;ve had enough
[05:46] Nuck: progrock: I'd argue that in the case of transactions, an event-driven paradigm is better.
[05:46] Nuck: And "type checking" should rarely be an issue to a good JS dev.
[05:46] jmoyers: uh
[05:46] jmoyers: type safety is a religious war
[05:46] progrock: I'm done, not arguing, especialy if youre skewing what I am saying (seems liek you're ready half the sntence)
[05:47] jmoyers: and you can argue that typed languages are much better for certain classes of applications
[05:47] progrock: anwyay, I'll leav eyou to your code, and I'll be getting back to mine
[05:47] Nuck: If you know what you're doing, you shouldn't accidentally fuck up types in your own code.
[05:47] jmoyers: thats horseshit
[05:47] Nuck: Now, type-checking incomind data, that's another story.
[05:47] Nuck: THAT is needed.
[05:47] Nuck: jmoyers: I've NEVER had trouble with my types being fucked up in my own code.
[05:47] progrock: ... I am more of a JS programmer than a scala one anyway... lol... but they both have their uses
[05:47] jmoyers: i prefer dynamic languages, but you can't disregard type safety out of hand
[05:48] ummm22 has joined the channel
[05:48] Nuck: What I DO want is the ability to have automatic type coercion as a language construct
[05:48] Nuck: So I can have incoming data for a function automatically coerced if I so desire.
[05:49] jmoyers: automatic coersion provides none of the benefits of type safety
[05:49] jmoyers: and you can do it with a library like validator
[05:49] KingJamool has joined the channel
[05:49] Nuck: Personally, I never saw the purpose for type safety. I think it provides more room for failure in fringe cases.
[05:49] jmoyers: strong typing is also faster, broadly speaking
[05:50] jmoyers: room for failure?
[05:50] jmoyers: its the exact opposite
[05:50] progrock: heh
[05:50] Nuck: I disagree
[05:50] Nexxy: lewl
[05:50] Nuck: By implied type coercion, you get many cases where the type is safely fixed without breaking shit.
[05:50] chjj: im so bored im sitting here watching this
[05:50] mcluskydodallas has joined the channel
[05:51] Nuck: So there's less chance for one of your rarely-used bits of code to die.
[05:51] jmoyers: 'fixed' -- type coersion also covers up a ton of problems
[05:51] Nuck: I disagree, as long as the problem is solved, there's nothing wrong IMO.
[05:51] Aphelion has joined the channel
[05:51] jmoyers: look, all im suggesting
[05:51] jmoyers: dont be so dogmatic
[05:51] jmoyers: javascript isn't jesus
[05:52] jmoyers: its super great, and node is great
[05:52] sethuhdiah has left the channel
[05:52] Nuck: jmoyers: I'm not being dogmatic, I accept that JS isn't jesus, but honestly, functional should be a very rare paradigm.
[05:52] Nuck: It's harder to maintain, it's harder to follow, and it's barely better than spaghetti code.
[05:52] progrock: but yeah, functional with strict typing has its enefits... ie. this function can ONLY take this range of values (if you try differently, wont compile) and if the code is pure (no side effects) you know that input A will ALWAYS give you output B. and you can gauranteee that every possible input gives a valid output
[05:52] jmoyers: 'functional should be a very rare paradigm' says a guy who's working with a language that has no classical inheritance built in...
[05:52] zomgbie has joined the channel
[05:53] Nuck: jmoyers: Classical inheritance? Meh. I have prototypes.
[05:53] jmoyers: which you use to emulate classical OO
[05:53] chjj: jmoyers: says who?
[05:53] avalanche123 has joined the channel
[05:53] Ratty_: Sometimes I seem to hit an infinite loop and get a "Maximum call stack size exceeded" error. But there's no backtrace so I can't identify where the problem is. How can I get a backtrace?
[05:53] jmoyers: says him, 30 lines up
[05:53] progrock: nbow, yeah, you can be smart abt your programming, and in theory have JS code doign a th same thing.. but if you (or more importantly someone else) does seomthign wrong (ie wrong type).... not liek you know instantly (not at compile....) and you cant test every possible input hen theeres inifinite possibilites
[05:53] Nuck: jmoyers: If you do that, you're making a mistake.
[05:53] Nuck: I NEVER use classical inheritance.
[05:54] Nuck: In fact, I rarely even use inheritance to begin with!
[05:54] jmoyers: okay, so what are you refering to when you say OO if not polymorphism and encapsulation?
[05:54] chjj: well no, it isnt as good as it could be in js
[05:54] Nuck: chjj: Sure, it's not the best, but it works.
[05:55] Nuck: jmoyers: I mean exactly that.
[05:55] chjj: no im saying, youre inclined to think like classical oo, because you can only think from the top looking down
[05:55] Nuck: prototypes can do it too.
[05:55] progrock: anyway.. back to my Data Vis work, lol
[05:55] Nuck: chjj: Maybe you can only think from the top down but I don't
[05:55] chjj: the best we have contrary to that is __proto__
[05:55] Nuck: I think bottom up.
[05:55] Nuck: I shit you not.
[05:55] chjj: youre not listening to me
[05:56] chjj: in js, you can change an objects prototype after the fact
[05:56] chjj: cant*
[05:56] progrock: and jmoyers, nice 'arguments'.. heh.. nice to know someones knowedgable in here ;)
[05:56] Nuck: I developed an inheritance resolver for something I'm building. Inheritance is done through child-parent one-to-many relationships.
[05:56] Nuck: chjj: Maybe not, but that never bothered me.
[05:56] Nuck: ACTION shrugs
[05:56] jmoyers: well i prefer dynamic languages, like i said. but you have to see both sides of the argument
[05:57] progrock: umm.. didnt crockford beat this shit out of the subject of inheritance iin JS... probably worth usin his methds
[05:57] Nuck: You hafta understand, I learned JavaScript before I learned any other OO language, so to me, this is all normal.
[05:57] jmoyers: blech crockford
[05:57] progrock: jmoyers: same here, JS is actually my favorite language to use
[05:57] Nuck: progrock: Crockford was a paranoid crazy.
[05:57] chjj: well, its fine, but it does make the language less dynamic, and dare i say it, that much closer to being classical
[05:57] AAA_awright: I learned PHP long before anything, so C and JS both seem normal
[05:57] jmoyers: don't follow all the 10 year old advice you find
[05:57] progrock: haha... he has some good stuff
[05:57] jmoyers: he does indeed
[05:58] jmoyers: not all of it
[05:58] jmoyers: jslint, for one
[05:58] Nuck: Yeah, like 3 pieces of it.
[05:58] progrock: but, i;ve been learning more from d3 than I have form any other JS code (including jqery)
[05:58] Nuck: I can count his good ideas on one hand.
[05:58] chjj: nuck: im saying its that much *closer* to being classical because of that
[05:58] jmoyers: this is what i mean
[05:58] Nuck: It'd take me more fingers than I've got to count how many good ideas he had.
[05:58] jmoyers: dont be so arrogant ;-)
[05:58] progrock: Nuck: clearly not giving him the credit thats due
[05:58] Nuck: Errr, bad
[05:58] Nuck: progrock: He made JSLint, he argued against some bad practices.
[05:58] Nuck: But he also argued against many not-so-bad practices.
[05:59] Nuck: In fact, those outnumbered the practices that WERE bad.
[05:59] progrock: but clearly you are 10 times the programmer he is.. not that hes one of the main reasons JS is the digusting beast that it appeared to be 12 years ago with all the horrible source...
[05:59] chjj: jslint is just the vehicle of the terrible practices he encourages
[05:59] sebastia_: is there some way to get the values of an object as an array?
[05:59] progrock: isn;t*
[05:59] Nuck: Yep, he was one of the men who made JS where it is today, right.
[05:59] Nuck: Totally.
[05:59] Nuck: Not just a crazy bastard who got a lot of influence.
[05:59] Nuck: Honestly, he did help us.
[06:00] Nuck: But not as much as people seem to think.
[06:00] SubStack: sebastia_: not natively
[06:00] progrock: man, you are fucking arogrant.. let me guess, a 22 year old CS major?
[06:00] jmoyers: Object.keys + [] syntax
[06:00] Nuck: I've read his shit, only 10% of his preachings are actually still argued today.
[06:00] KingJamool has joined the channel
[06:00] progrock: I take it that was a close guess
[06:00] chjj: progrock: you should probably mention who youre speaking to
[06:00] Nuck: He's not as amazing as people think. He's not a God.
[06:01] Nuck: progrock: Not at all.
[06:01] sebastia_: ah, thought that might be the case. cheers guys
[06:01] SubStack: sebastia_: but hashish has .values
[06:01] Nuck: I'm 17 but I've been programming for a goddamn decade.
[06:01] progrock: chjj: Nuck
[06:01] SubStack: http://github.com/substack/node-hashish
[06:01] xat- has joined the channel
[06:01] progrock: damn it.. iwas gonna guess teenager, but I wanted to be nice
[06:01] felixge: progrock: http://kangax.github.com/es5-compat-table/#strict-mode-ie10
[06:01] Nuck: I'm not just some idiot who learned JS when he was 20.
[06:01] progrock: but yeah, you are definitely the arrogant / ignorant type... but hey, if your halfway decent at programming, in a few years youll probably get over it
[06:02] Nuck: progrock: It's not so much that I'm arrogant, it's that you seem to be one of the goddamned sheep who follow the Gods around.
[06:02] Nuck: Douglas Crockford was a great man, definitely.
[06:02] progrock: hahahhahah
[06:02] jmoyers: i guess im a sheep too
[06:02] progrock: man, your fucking hilrious
[06:02] Nuck: But not as great as you make him out to be.
[06:03] progrock: theres ony 1 JS progammer I truelly appreciate right now, and you likely dont know him
[06:03] Nuck: Honestly, his subset of JS was completely restrictive.
[06:03] SubStack: I haven't used any of crockford's modules, can't comment
[06:03] Nuck: You would not BELIEVE the shit he argues.
[06:03] jesusabdullah: SubStack: He doesn't *have* any modules I bet!
[06:03] Nuck: If you actually read his stuff, you'd agree that he's a raving loon.
[06:03] chjj: nuck: was anyone defending crockford in the first place? im confused as to why this is all about crockford
[06:03] jesusabdullah: SubStack: You did read TGP though right?
[06:03] progrock: hahahaha
[06:04] Nuck: chjj: progrock referenced him and argued he was so much better than me.
[06:04] jmoyers: he is better than you
[06:04] progrock: clearly
[06:04] Nuck: He was just another programmer like the rest of us.
[06:04] jesusabdullah: Well, yeah, can't argue that one
[06:04] jmoyers: did you get invited to speak at these any of these jsconf's?
[06:04] jesusabdullah: ;)
[06:04] SubStack: json is pretty cool I guess
[06:04] jesusabdullah: j/k Nuck
[06:04] chjj: ill say i have no idea because i havent seen nuck's work
[06:04] jesusabdullah: json was a good idea, yeah
[06:04] Nuck: JSON *was* a good idea.
[06:04] SubStack: jesusabdullah: not more than a few pages
[06:04] Nuck: But all the practices for JS he argued were shit.
[06:04] progrock: Fuck man, Nuck, if you honestly did 1 thing worth mentioning, I may not think you were such an arrogant fool.. but yeah. i'm willing to bet you jsut got a bunch of garbage that you'll realize is reaterded
[06:05] Nuck: Except a few hich were already known.
[06:05] Nuck: (don't use `with`, etc.)
[06:05] progrock: your grasp on other programming paradigms makes it very obvious 'you dont know shit'
[06:05] felixge: ACTION doesn't like it when his internet friends are fighting ... will come back when everybody is happy again.
[06:05] Nuck: progrock: I know programming paradigms damn well, I just think static typing's only benefit is speed.
[06:06] Nuck: And a tiny bit of clarity.
[06:06] SubStack: hey now you scared felix away :(
[06:06] chjj: oh man, you guys forced felixge out
[06:06] Nuck: But it's entirely too restrictive and begs for failure.
[06:06] chjj: shame on you
[06:06] progrock: narrow minded, lol.
[06:06] progrock: But hell, when I was 16 and in your posiiton.. I may have been worse, hahhaha
[06:06] Nuck: But agreed, we should stop for the sake of folks like felixge.
[06:06] Nuck: progrock: I am entirely offended that you consider age an indicator of intellect.
[06:07] jmoyers: nothing to do with intellect
[06:07] Nuck: When there are 12-year-olds who are entirely more intelligent than you or I.
[06:07] jmoyers: its just temperment :P
[06:07] progrock: wow, fuckign narrow minded again
[06:07] Nuck: Hell, probably smarter than Crockford.
[06:07] progrock: I am juding you on HOW you are acting, more specifically, the immature and arrogance
[06:07] SubStack: intelligence does not work that way
[06:07] Nuck: progrock: That term doesn't mean what you think it means :/
[06:08] Nuck: SubStack: Better programmers too ;)
[06:08] jesusabdullah: SubStack: Why did you stop reading it? ooc
[06:08] Nuck: I know the multiple intelligence theory.
[06:08] jesusabdullah: progrock: He's just a kid :(
[06:08] chjj: substack this client side http module doesnt actually stream WTF!
[06:08] chjj: ;p
[06:08] jesusabdullah: haha
[06:08] Nuck: progrock: I'm not being arrogant, I'm just arguing the perspective of somebody who grew up around modern practices.
[06:08] jesusabdullah: Look again. Your client is now a server.
[06:08] progrock: jesusabdullah: yeah, I know, I'm going out for a smoke, then going back to work
[06:08] addisonj_ has joined the channel
[06:09] jesusabdullah: hah
[06:09] jesusabdullah: wark wark!
[06:09] jTNT has joined the channel
[06:09] progrock: hahahaha
[06:09] Nuck: And I can tell you this whole thing where people are ditching OOP for functional code is complete and utter bullshit.
[06:09] jesusabdullah: I'm bowing out of work for today
[06:09] progrock: man, atleat I know enough to know, I know nothing
[06:09] jesusabdullah: The thing I'm building is moving more slowly than I'd like but at least it's awesome!
[06:09] chjj: jesusabdullah: you better not gist me to death today
[06:09] Nuck: progrock: I know I know nothing but I also know nobody knows anything either.
[06:09] SubStack: jesusabdullah: because the book belongs to kent :p
[06:09] progrock: Nuck: you seriously dont know shit. Thats all I have to say.
[06:09] jesusabdullah: Whatevah! Whatevah! I gist what I want!
[06:09] JakeyChan has joined the channel
[06:10] jesusabdullah: SubStack: Ohhhhh
[06:10] jmoyers: Nuck if you were born 10 years earlier, you'd have been saying the same thing about people ditching procedural for OOP
[06:10] SubStack: chjj: stream on which side?
[06:10] jesusabdullah: Wait, is someone ditching something?
[06:10] Nuck: I'd say that's a step beyond your nuggets (as in feces) of "Wisdom"
[06:10] chjj: on the response side!
[06:10] Nuck: jmoyers: Not really.
[06:10] progrock: jmoyers: but but.. these objects you kids are using are jsut so confusing... why cant it jsut say exacty what its doing in the order its oding it???
[06:10] chjj: the response streaming :)
[06:10] SubStack: chjj: does too!
[06:10] progrock: damn it!
[06:10] jmoyers: OOP adds overhead bro!
[06:10] chjj: totally doesnt fo real
[06:10] jmoyers: too much overhead!
[06:11] Nuck: jmoyers: Dude, I learned BASIC when I was 7. I had to move from that paradigm to OOP.
[06:11] SubStack: you just have to send a content-type multipart/octet-stream or similar
[06:11] jmoyers: yes yes, my friend
[06:11] Nuck: And I can tell you for a FACT that OOP is far better.
[06:11] jesusabdullah: I think *anything* adds overhead.
[06:11] SubStack: because browsers care about that stuff for some unimportant reaason
[06:11] chjj: oh i see what you did there
[06:11] jmoyers: i learned it early as well
[06:11] jmoyers: its all good
[06:11] SubStack: chjj: check out the example/stream
[06:11] chjj: oh i see wat u did there!
[06:11] jesusabdullah: It's a matter of whether you find it useful or not, and whether that's worth the extra effort
[06:11] Nuck: But we already dealt with functional code
[06:11] Nuck: Only, at the time we called it SPAGHETTI CODE
[06:11] Nuck: As in, code where you can barely follow the flow
[06:11] chjj: substack: yeah i was kidding from the beginning, i just wanted to bug you ;p
[06:11] Nuck: And code calls around.
[06:11] progrock: I love how hes acting like hes actuall programmed serious appications in any language.. let alone enough in an OOP and enough in a functional to truely ubnderstand either, et alone both
[06:11] jTNT: ACTION likes spaghetti
[06:12] jesusabdullah: Nuck: Are you talking about lisp?
[06:12] Nuck: This is the hell that Functional code leads to with anyone except the best.
[06:12] jesusabdullah: Nuck: because lisp had hella good ideas. It's aged really well imo
[06:12] Nuck: jesusabdullah: More a series of GOTO statements.
[06:12] SubStack: delicious spaghetti
[06:12] SubStack: speaking of
[06:12] chjj: substack: and hopefully draw attention away from the battle happening in the background
[06:12] SubStack: I should go buy some sauce
[06:12] progrock: lol... time to go program som haskel, haha
[06:12] jesusabdullah: Nuck: That's procedural programming, not functional
[06:12] SubStack: except for how my bike seat is still missing
[06:12] jTNT: ACTION has his with pesto
[06:12] akshatj: I find functional programming to easier than OO or procedural
[06:12] Nuck: jesusabdullah: Yes, but it's the same concept when you really boil it down.
[06:12] jesusabdullah: Nuck: procedural programming is inherently stateful, whereas fp isn't
[06:13] Nuck: Stacks will still exist, jesusabdullah.
[06:13] SubStack: functional combinators are a great tool for removing intermediate state
[06:13] Nuck: Functional programming still relies on arguments to functions, does it not?
[06:13] SubStack: fuck intermediate state
[06:13] jesusabdullah: Sure, but that's implementation
[06:13] jTNT: c'mon: FP / OO each have value: depends what you're building.
[06:13] Nuck: Guess what, there's always gonna be nasty interactions and such between functions.
[06:13] jesusabdullah: Yeah, there's no real such thing is a conceptual intermediate state in pure fp, nor are there non-constants
[06:14] jesusabdullah: ie, no vars
[06:14] Nuck: And this is why I argue that FP is the worst idea in years.
[06:14] jesusabdullah: Why?
[06:14] jesusabdullah: I program functionally all the time
[06:14] jesusabdullah: and I bet you do too
[06:14] Nuck: It reminds me of jQuery, a beautiful thing, but encourages spaghetti code.
[06:15] SubStack: Nuck: the point of a lot of functional combinators is to remove side effects
[06:15] jesusabdullah: Haskell probably isn't the best idea ever, but it's led to some beautiful code
[06:15] jesusabdullah: and gorgeous ideas
[06:15] jmoyers: Nuck http://www.paulgraham.com/avg.html - read the section on the hypothetical language called 'Blub'
[06:15] SubStack: that would be one of those "nasty interactions" you're deriding
[06:15] jesusabdullah: Some would argue that python is blub
[06:15] SubStack: python is not good enough to be blub
[06:15] jTNT: ACTION steps outside ...
[06:15] SubStack: python wishes it were blub
[06:15] jesusabdullah: hah
[06:15] Nuck: SubStack: Do you REALLY think anyone but the best coders will switch to that?
[06:15] jesusabdullah: SASSY, substizzy
[06:15] chjj: it sounds like a mispronounciation of my language: b-luv
[06:16] Nuck: Seriously, it takes a genius to keep things that encourage bad code from producing bad code
[06:16] jmoyers: this shit is my favorite programming quote in recent memory
[06:16] jmoyers: "But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn't realize he's looking up. What he sees are merely weird languages. He probably considers them about equivalent in power to Blub, but with all this other hairy stuff thrown in as well. Blub is good enough for him, because he thinks in Blub."
[06:16] Nuck: And FP encourages bad code by nature.
[06:16] Nuck: jmoyers: I know LISP is great.
[06:16] megalomix has joined the channel
[06:16] megalomix: hello
[06:16] admc has joined the channel
[06:16] jmoyers: nothing to do with lisp
[06:16] jmoyers: try and generalize the concept
[06:16] jesusabdullah: Nuck: Many mathematicians like haskell because they can speak the mathematical language they know way better than the stateful procedural approach you have to use with a lot of stuff
[06:16] chjj: megalomix: you might want to come back later, things are heated right now
[06:17] chjj: HEATED
[06:17] jesusabdullah: pffsht
[06:17] Nuck: jesusabdullah: I have my own mixture of FP and OO.
[06:17] jesusabdullah: I'm not heated!
[06:17] chjj: heated...
[06:17] jmoyers: this shit is boooilin
[06:17] SubStack: HEATED LIKE A BOILING POT READY TO HEAT SOME PASTA
[06:17] chjj: mmm pasta
[06:17] Nuck: jmoyers: I know that article.
[06:17] jmoyers: pasta pile
[06:17] jesusabdullah: I think that, in the end, some problems are easier done in some ways than others
[06:17] Nuck: Been there, read that.
[06:17] Nuck: For 90% of cases, I think OOP is the ideal.
[06:18] Nuck: There will be forays into other areas, but overall, I think it will come back to this.
[06:18] philip__ has joined the channel
[06:18] jesusabdullah: People use objects/methods, anonymous functions as first class citizens (almost lisp-like), and ye olde for and while loops
[06:18] jesusabdullah: in javascript
[06:18] Nuck: Because FP is not as easily modularized as OOP.
[06:18] jesusabdullah: It has them all, and each is useful in different contexts
[06:18] Nuck: At least, not the same quality of code on both
[06:18] jesusabdullah: What?
[06:18] progrock: jmoyers: (or anone else) any chance you know of a good way to use defineProperty (or anything with the same funcitonality) on the major browsers ie8+, ff3+, and the current wbkits)
[06:18] jmoyers: just .. just stop
[06:19] jTNT: I think for 90% of cases, pesto is the best pasta sauce.
[06:19] jesusabdullah: There's some *amazing* FP software out there
[06:19] jmoyers: pesto is nothing but green mayo dude
[06:19] Nuck: If I got an average coder and had him write OOP and FP, the FP code would be the less maintainable.
[06:19] jmoyers: or at least a starbucks employee in new york told me that
[06:19] Nuck: I can assure you of that.
[06:19] chjj: jmoyers: what? you just shattered my world
[06:19] SubStack: Nuck: first-class functions are great for modularity
[06:19] jesusabdullah: What? No, pesto is green olive oil!
[06:19] progrock: damn it, someone has to fucking know enough about JS to answer this!
[06:19] Nuck: jmoyers: ... It's water, basil, and olive oil.
[06:19] jTNT: hmm, basil and pine nuts ...
[06:19] jmoyers: progrock not quite sure about defineProperty support in ie8
[06:19] Nuck: With a few other things
[06:19] jesusabdullah: Programmers aren't taught fp in school, though
[06:19] SubStack: instead of subclassing for custom functionality you can just pass your abstraction a function to perform the custom behavior
[06:20] antono has joined the channel
[06:20] jesusabdullah: nearly as much
[06:20] jTNT: ACTION was taught FP in school ...
[06:20] SubStack: like traverse
[06:20] jmoyers: a lot of people just use getters, such as obj.get('name') in the case where they need defineProperty, just to be safe
[06:20] progrock: jmoyers: well I know theres 2 diferent ways to get similar functionality.. but yeah.. I am reall interested in getting this to work for clietn side code
[06:20] jmoyers: if you're in a node-only environ, or es5, then defineProperty away
[06:20] progrock: it pretty fuckign powerful when you get into it
[06:20] jesusabdullah: Oh, yeah, anything that uses python decorators is inherently functional
[06:20] Nuck: Functional programming is fune, but the core of any system ought to be Object-driven.
[06:20] jesusabdullah: even if it's a retarded idea
[06:20] Nuck: *fine
[06:20] saikat has joined the channel
[06:20] progrock: I want it on the cient side, lol
[06:20] jesusabdullah: I think objects are a requirement for a language today
[06:20] progrock: client*
[06:20] jesusabdullah: but so are first-class functions
[06:21] Nuck: Sure, they both are.
[06:21] SubStack: haskell has records
[06:21] jmoyers: yeah.. well you're shit out of luck if you're supporting crappy browsers ;-)
[06:21] Nuck: I generally make my functions act as Objects in JS.
[06:21] jmoyers: take a look at how backbone.js does getters
[06:21] Nuck: In fact
[06:21] jesusabdullah: Well, they *are* both
[06:21] Nuck: That's primarily how I work nowadays.
[06:21] chjj: nuck: functions are objects
[06:21] progrock: the only server side JS we use a work is phantomjs for pdf generation.... i want to use this in some of the core client side code (data vis code to be exact)
[06:21] jesusabdullah: I've added attributes to functions before
[06:21] jesusabdullah: >:D
[06:21] Nuck: chjj: Precisely ;)
[06:21] Nuck: jesusabdullah: Who HASN'T?
[06:21] jTNT: remember: closures are poor man's objects
[06:21] chjj: although, you cant normally make a constructor spit them out
[06:21] jTNT: / objects are poor man's closures
[06:21] Nuck: But no, I use closures to form my own objects with hidden properties :P
[06:22] jesusabdullah: closures rock
[06:22] Nuck: And then I can control everything finely in there
[06:22] jTNT: ACTION hits jesus over the head with a stick
[06:22] jmoyers: set https://github.com/documentcloud/backbone/blob/master/backbone.js#L193get and https://github.com/documentcloud/backbone/blob/master/backbone.js#L173
[06:22] CrabDude has joined the channel
[06:22] Nuck: jTNT: Careful, the Christians might kill you ;)
[06:22] jesusabdullah: This is why I like javascript. It's packed with a lot of important language features.
[06:23] Nuck: jesusabdullah: Same.
[06:23] Nuck: I can do what I want how I want.
[06:23] jesusabdullah: Yeah, even if it feels kludgy/crufty sometimes it's got all of the sweetest shit
[06:23] Nuck: Part of why I can't stand Crockford's teachings is because he limits eveyrbody to his own personal style.
[06:23] jTNT: always wanted to do that ...
[06:23] progrock: jmoyers: is backbone your project?
[06:23] jmoyers: shit no
[06:23] jmoyers: popular mvc
[06:23] jesusabdullah: jTNT: Why'd you hit me? D:
[06:23] jTNT: backbone rocks.
[06:24] chjj: wait wait wait
[06:24] jesusabdullah: I haven't had a chance to test drive it
[06:24] chjj: lets talk about mvc now
[06:24] jmoyers: hahaha
[06:24] jmoyers: i refuse
[06:24] Nuck: I honestly don't strictly/consciously stick to MVC.
[06:24] jmoyers: bro i only use mvvm
[06:24] jmoyers: also, lets talk about ORMs
[06:24] jesusabdullah: I suspect that mvc is a useful concept, but I bet it's relatively heavyweight for a lot of stuff
[06:24] Nuck: I usually just split it up and it ends up as MVC-ish.
[06:24] jesusabdullah: hmm
[06:24] progrock: heh, if I ever get some free time, i still wanna finish this trivial JS powered blog... literally gonna have like 100 lines of server side code for everything I need (just need it to load and save shit in mongo, and do 1 o 2 trivial tasks)
[06:24] Nuck: I don't need a framework to force me into something :P
[06:24] insin has joined the channel
[06:25] chjj: what i dont like about mvc...is that everyone almost automatically regards it as correct and the best course for their project without any consideration
[06:25] chjj: everyone just says, "well, mvc thats it, right?"
[06:25] Nuck: Hell, if I could get jQuery's features in normal style code, I would prefer that
[06:25] jmoyers: yeah, time tested design patterns suck balls
[06:25] louissmit has joined the channel
[06:25] progrock: jesusabdullah: ehh, depends how you look at it... like the blog I plan to code will use MVC, but its gonna hve soooo litte code.. its jsut a logical way of breaking the 'application into 3 parts
[06:25] jesusabdullah: I also am like, "tell me about your mvc framework" and then I hear "blah blah views blah blah template engine"
[06:25] kmiyashiro has joined the channel
[06:25] jesusabdullah: Yeah, sure
[06:25] jTNT: jesus: just illustrating a point. see : skilldrick.co.uk/tag/javascript/page/2
[06:26] jmoyers: well, how about we look at what the library does for you
[06:26] SubStack: chjj: sounds like availability bias!
[06:26] jesusabdullah: jTNT: Haha, nice. :D
[06:26] chjj: sounds like people should think more
[06:26] progrock: lol, my last job interviewd asked me to describe MVC.. such a trivial concept... its almsot as bad as being asked to describe restful applications
[06:26] Nuck: I use Mongo for a database, server-side shit is NodeJS+Express creating a RESTed API, then I build a frontend using jQuery
[06:26] chjj: even if mvc is the best choice
[06:27] butu5 has joined the channel
[06:27] jesusabdullah: I actually quite like jquery's approach, though it feels a bit entangled to me
[06:27] jmoyers: declarative event delegation, common fetch/save tasks, convenient collection management, client side routing/pushstate/history, validation
[06:27] Nuck: chjj: People seem to just "follow the Gods"
[06:27] jmoyers: the list goes on
[06:27] jmoyers: its just nice stuff in a nice package
[06:27] jesusabdullah: I want to try the shit on ender.js actually
[06:27] Nuck: jesusabdullah: It makes shit very unmodular, that's the problem.
[06:27] jmoyers: forget mvc
[06:27] Nuck: It's wonderful, the features it has
[06:27] jesusabdullah: YOU're unmodular!
[06:27] Nuck: I love the wrappers
[06:27] jesusabdullah: but more seriously, explain
[06:27] SubStack: REST is pretty shit for a lot of things
[06:27] Nuck: I just think chaining encourages unmaintainable code
[06:27] progrock: jesusabdullah: I used to think jquery was the shit.. then I staretd using d3 (for a different use of course), its soo much cooler imo.. has some amazing concepts.
[06:27] chjj: jesusabdullah: if you make an ender.js bundle, you should use my selector engine
[06:27] jmoyers: it doesn't assume REST
[06:27] Nuck: It's very tempting to just inline my chained code
[06:27] jesusabdullah: chjj: selector engine you say?
[06:28] chjj: yessir
[06:28] jmoyers: override Backbone.sync and use DNode :P?!
[06:28] jesusabdullah: I think that's by far the most useful part of jquery to me
[06:28] jesusabdullah: so: SHOW MEEEE
[06:28] progrock: I also like how protovis has a JS 1.8.5 parser (well for shorthand function definitions at least)
[06:28] chjj: jesusabdullah: https://github.com/chjj/zest
[06:28] chjj: jesusabdullah: its faster than sizzle and supports css4 selectors
[06:28] Nuck: jesusabdullah: Just use the selector engine from jQuery
[06:28] Nuck: CSS4?
[06:28] Nuck: ...
[06:28] jTNT: sizzle
[06:28] chjj: selectors level 4, yes
[06:28] Nuck: chjj: As in, post-CSS 3?
[06:29] Nuck: They're already working on CSS4?
[06:29] arpunk has joined the channel
[06:29] jesusabdullah: Nuck: That's what I normally do---that is, I just use jquery
[06:29] Nuck: I mean, CSS3 isn't even DONE yet!
[06:29] progrock: I want a fuckign parent selector built into CSS... soo gay there isnt one yet
[06:29] jesusabdullah: Fuck it I might as well
[06:29] megalomix: chjj, what happen? :)
[06:29] chjj: yeah, its been in the works informally for a while, then in the form of editors drafts
[06:29] Nuck: progrock: Oh god, I KNOW
[06:29] Nuck: It's stupid that it doesn't exist!
[06:29] chjj: progrock: there is going to be a subject selector in css4, better than a parent selector
[06:29] jTNT: ACTION wants a replacement for the box model.
[06:29] progrock: I always have a block of JS labeled "styles" for that shit.. pretty shitty I have to resort to that
[06:30] insin: anyone know if there's a lib out there for writing wrappers around aync APIs before I start trying to write one? Thinking of something which completely emulates the API, but adds functions to a list of steps to be performed and returns another wrapper exposing the API of the expected result, then something which runs and hooks together the lot at the end and handles chaining the steps together
[06:30] jTNT: insin: actually mate, you know what, I reckon there may well already be one or two of those ... *ducks*
[06:30] rgl has joined the channel
[06:31] jesusabdullah: I'm starting to have a stockholm syndrome feel with html + css
[06:31] jesusabdullah: Like, "oh this isn't so bad"
[06:31] Nuck: jesusabdullah: Switch to SVG :D
[06:31] jmoyers: insin yes, yes there are
[06:31] jTNT: ;{)}
[06:31] jmoyers: many many many of those
[06:31] Nuck: But nah, I actually do like HTML and CSS
[06:31] jesusabdullah: No thank you Nuck ?
[06:31] Nuck: I prefer LESS though
[06:31] Nuck: LESS 4 LIFE
[06:31] jesusabdullah: less, huh?
[06:31] progrock: damn it.. thats what fucking bothers me, FF 3.6 doesnt support definePropert.. otherwise I'd be good to go
[06:31] insin: I know there are plenty of flow control libraries and things like promises, this would be more like a layer above those, just finding it hard to search for :)
[06:31] insin: Any good links?
[06:32] jmoyers: uuh, not clear on the layer above business
[06:32] progrock: oh.. IE only supports DOM objects.. gay
[06:32] jmoyers: mostly i use https://github.com/caolan/async
[06:32] jmoyers: and dont find the need for a big abstracted wrapper
[06:32] Nuck: insin: Only thing anything like flow ocntrol I've used is asnyc.
[06:32] Nuck: That thing is so wonderful
[06:32] jmoyers: there are things like streamline.js
[06:32] Nuck: It's so lightweight
[06:32] jmoyers: and other transform engines
[06:32] jTNT: do
[06:32] chjj: JS-SEX
[06:32] chjj: that one too
[06:32] Nuck: I like code that works in mine, not code that mine withs in
[06:33] jmoyers: right JS SEX
[06:33] jmoyers: i've seen that bantered about on the mailing list
[06:33] insin: I'm thinking for APIs which you're going to be using a *lot* - could also have big pre-canned sequences of steps which are configurable
[06:33] jmoyers: in the epic fibers threads
[06:33] jmoyers: like defining a state machine?
[06:33] chjj: i heard the js-sex parser has sex with your code, and gives it superpowers
[06:34] chjj: oh wait, i know, now lets argue about callbacks vs fibers vs transformation
[06:34] chjj: go
[06:34] SoulRaven has joined the channel
[06:34] insin: ye gawds, I saw my first one of those on the maling list
[06:34] insin: people sure do love that conversation ;)
[06:35] jmoyers: https://groups.google.com/d/topic/nodejs/VD9LWGFiChQ/discussion
[06:35] jmoyers: this was a library for predefining a state machine
[06:35] jmoyers: that i saw the other day
[06:36] jmoyers: not a huge fan of the API, but it seems pretty comprehensive
[06:37] Nuck: Oh, this is glorious: "I'll buy a TouchPad, stick it in an iPad 2 box and give it to my oldest for his bday. The excitement followed by despair will be awesome."
[06:37] zeissoctopus has joined the channel
[06:37] Nuck: ACTION cries a single tear of joy.
[06:38] SubStack: nooooooooooooooode
[06:38] SubStack: dot jay ess
[06:38] Nuck: I am actually semi-tempted to get a touchpad
[06:39] Nuck: $99 for a piece of shit hardware that I can program for?
[06:39] Nuck: HELLS YEAH
[06:39] Nuck: Best Buy will be selling that shit for WEEKS.
[06:40] Nuck: If I change my mind or jsut realize I don't like carrying a heavy piece of shit (HP laptop), I might get one
[06:41] zeissoctopus has joined the channel
[06:41] progrock: heh, motherfuckers, I've worked 9 0hours this week already.. if I do 10 hours today, I'll have my first 3 digit week
[06:41] progrock: 90*
[06:41] smus has joined the channel
[06:42] Nuck: progrock: You get paid hourly?
[06:42] Nuck: That sucks :/
[06:42] torsd has joined the channel
[06:42] progrock: paid hourly, no
[06:42] Nuck: Ah
[06:42] Nuck: progrock: Do they even monitor your hours?
[06:42] progrock: Salary... but I do get to se a 6 figure bonus at the end of the year....
[06:43] Nuck: Nice :D
[06:43] Nuck: I
[06:43] Nuck: I'm starting a company.
[06:43] progrock: no, they dont
[06:43] progrock: heh, good luck
[06:43] Nuck: So my starting income is $0
[06:43] progrock: more liek - something
[06:43] Nuck: But I'll be CEO, so if my company gets big, so do I.
[06:43] progrock: heh, IF,
[06:43] Nuck: progrock: Nah, I'm applying to Y Combinator
[06:44] Nuck: I don't intend to invest more than $100 or so personally
[06:44] torsd: Nuck what's your startup called
[06:44] Nuck: I don't trust it not to fail without the help of a larger investment.
[06:44] progrock: haha, hackernews, heh, doubt thats much of a job
[06:44] progrock: tors "going nowhere"
[06:44] Nuck: Currently we're just "Fakooda"
[06:44] Nuck: No real name yet
[06:44] progrock: close
[06:44] tekky has joined the channel
[06:44] ph^ has joined the channel
[06:45] Nuck: We aim to go all david-and-goliath on deviantART's ass.
[06:45] torsd: ohhh that's cool
[06:45] Nuck: Not too hard, if you ask me.
[06:45] MUILTFN has joined the channel
[06:45] Nuck: They're constantly misdrected, etc.
[06:45] progrock: hell, my boss started this company 4 years ago, with his money and a few investmenets... companies currently worth 50 million, and he owns somethign lirk 50%
[06:45] progrock: like*
[06:45] Nuck: progrock: Nice! I'm not a rich person, so I can't really invest much.
[06:46] torsd: Nuck what technologies do you guys use?
[06:46] Nuck: I've got maybe a tenth of what YC would provide.
[06:46] progrock: Nuck: wait, stock photography / artwork website?
[06:46] Nuck: torsd: Node, Mongo, etc.
[06:46] torsd: awesome
[06:46] Nuck: progrock: Artwork in general.
[06:46] progrock: hhe, I almost worked for shutterstock
[06:46] torsd: are you guys in beta already or what's the status?
[06:46] Nuck: progrock: lol one of my cofounders applied to deviantART before
[06:47] Nuck: torsd: Currently in development. We've got a basic framework of an API
[06:47] progrock: Shutterstock gave me an open ended offer after mathcing 20k higher than their original offer
[06:47] progrock: but I went into finance.. the stress sucks.. the moneys crazy
[06:47] rfay has joined the channel
[06:47] Nuck: progrock: I'm the kind of person who could never do something he hated.
[06:48] torsd: Nuck: how do you plan to get traction aside from building a kick ass product?
[06:48] progrock: Nuck you mis interpret fuckign everything I write
[06:48] progrock: I said stressful.. the job is almost ideal for me.. but its is stressful
[06:48] Nuck: progrock: I hate stress, so not really ;)
[06:48] progrock: I love the job.. so yeah.. misinterpretted
[06:49] jesusabdullah: Nuck: What if you had the choice between doing something you hated, and doing something that you *really* hated?
[06:49] Nuck: torsd: Well, we're not entirely sure on the details, but we've got some very interesting product concepts that we think will encourage people to join us :P Not to mention dA is failing massively in recent months, so their failures are our successes.
[06:49] jesusabdullah: like, eat a pile of shit or get shot
[06:49] progrock: I get to spend haf my time making really awesoe data visualizations.. shits pretty damn interesting and fun (and already gotten mutiple job offers based on what ive prodcued here)
[06:49] jesusabdullah: Actually, that's a hard one
[06:49] arnee has joined the channel
[06:49] jesusabdullah: I think I might get shot
[06:49] Nuck: jesusabdullah: Erm, I'd rather get shot in that analogy, but I would do what I hate or continue trying to find a better opportunity
[06:50] jesusabdullah: ahaha
[06:50] progrock: jesusabdullah: Id take a 22 to the ass before eating a ple of shit
[06:50] jesusabdullah: ^5
[06:50] Nuck: progrock: oooh, kinky.
[06:50] chjj: best toprated youtube comment ive seen today: "Thumbs up if you have facebook opened in another tab."
[06:50] jesusabdullah: My analogies tend to break down very quickly
[06:50] jesusabdullah: I think that's okay
[06:51] chjj: where would the world be without youtube comments?
[06:51] jesusabdullah: analogy is powerful, but it's also a brittle thing too
[06:51] jesusabdullah: just in general
[06:52] jesusabdullah: chjj: Here's hoping your markdown parser ends up being awesome
[06:53] jomoho has joined the channel
[06:53] jesusabdullah: I don't actually like gfm
[06:53] Nuck: jesusabdullah: I like the ```-stuff
[06:53] jesusabdullah: because it "respects" line wraps. I prefer the original way
[06:53] Nuck: But TBH, I'm a noob at GFM.
[06:53] jesusabdullah: Yeah, ``` is nice
[06:53] progrock: 90% done with a visualization similr to this: http://www.visualizing.org/full-screen/16266 just a little less chartjunk on mine.. and mine is visualizes an investment managers ortfolio
[06:53] progrock: portfolio*
[06:54] jesusabdullah: It'd be cool to have a parser that could switch modes
[06:55] chjj: jesusabdullah: ah cool, i wrote it for speed, its pretty fast
[06:55] chjj: jesusabdullah: GFM is on the todo list
[06:55] jesusabdullah: Word
[06:55] jesusabdullah: chjj: Please at least make the linewrap behavior optional? Please?
[06:56] jesusabdullah: I like to write my shit to 80 chars and still have it re-linewrap on render
[06:56] chjj: for gfm? yeah i might, i always found regular markdown double spaces were enough
[06:56] jesusabdullah: yeah
[06:56] jesusabdullah: !
[06:56] Nuck: jesusabdullah: Then set your text editor to 80-width.
[06:56] Nuck: I never understood why people don't do that
[06:56] Nuck: Same reason I don't get why people hate tabs
[06:56] jesusabdullah: Nuck: You misunderstand. The text editor is fine, I just don't like writing lines longer than 80 characters
[06:56] Nuck: tabs are adjustable to a user's preferences
[06:57] jesusabdullah: It's a matter of style.
[06:57] chjj: jesusabdullah: if you want "loose" list items as theyre called, you can checkout my experimental branch, i havent merged them with master yet, but theyll come soon
[06:57] chjj: i dont think most people use them though
[06:57] jesusabdullah: loose list items?
[06:57] Nuck: jesusabdullah: Do you manually wrap to 80?
[06:57] jesusabdullah: Nuck: Yes.
[06:57] jesusabdullah: It's a matter of .txt style rules
[06:57] chjj: jesusabdullah: list items that are spaced apart so they get wrapped in paragraphs, its part of the markdown "spec"
[06:57] AAA_awright: ATTENTION DEVELOPERS: TABS TO INDENT, SPACES TO ALIGN
[06:57] Nuck: jesusabdullah: Better way is to just set your text editor to 80-width
[06:57] Nuck: And let it wrap.
[06:57] jesusabdullah: Nonono
[06:58] Nuck: AAA_awright: I use tabs to align TBH.
[06:58] AAA_awright: THANK YOU
[06:58] chjj: i might merge that branch tonight
[06:58] Nuck: AAA_awright: However, I've been debating making a switch to spaces...
[06:58] jesusabdullah: chjj: I think I might use those things
[06:58] AAA_awright: Nuck: If you're aligning one character or so, but anything more mesees up my 3-space tabs
[06:58] Nuck: AAA_awright: Aligning objects, before or afte the :
[06:58] progrock: My favorite line of code for today:
[06:58] jesusabdullah: I think it works on reddit but not on github
[06:58] AAA_awright: I actually don't align anything, I indent exclusively
[06:59] AAA_awright: Well hm
[06:59] Nuck: AAA_awright: Ah. I align large objects.
[06:59] Nuck: Smaller ones, I don't bother
[06:59] progrock: function functor(fn) { return typeof fn === 'function' ? fn : function() { return fn }; }
[06:59] Nuck: But when they grow to 15 lines and have varying key-lengths
[06:59] AAA_awright: { property: "value"
[06:59] AAA_awright: , property2: "value"
[06:59] AAA_awright: } seems to work pretty well
[06:59] chjj: jesusabdullah: yeah, ill get to work on merging that branch, i hate to think im dissapointing people with it, its the one markdown feature i dont support, instead your list items will just be like normal list items
[07:00] chjj: instead of hello
you get hello
[07:00] jesusabdullah: I like to tab things weird sometimes, in a way that doesn't always lend itself to tabs, and I don't like mixing tabs and spaces
[07:00] niftylettuce: jesusabdullah: actually there is a CTRL+SHIFT+A align plugin for gedit
[07:00] Draggor: progrock: where is that legitimately used?
[07:00] jesusabdullah: chjj: That sounds reasonable
[07:00] Nuck: AAA_awright: I do the traditional syntax for objects. For commas on vars, with the comma-leading style
[07:00] niftylettuce: oh nevermind read that wrong lol
[07:00] jesusabdullah: niftylettuce: Oh? sounds nifty
[07:01] progrock: Draggor: protovis... it allows you to define attributes as functions or constants... that wraps constants into function so you can access both the same way
[07:01] niftylettuce: jesusabdullah: yeah its in gmate or on gedit-icing
[07:01] Nuck: jesusabdullah: Not as nifty as that lettuce over that
[07:01] Nuck: *there
[07:01] Nuck: ACTION noms
[07:01] AAA_awright: Alright gnight everyone
[07:01] niftylettuce: Nuck: ugh, i cant get working with Chrome or FF embedded
[07:01] Nuck: AAA_awright: nai
[07:01] progrock: Draggor: its a very cool concept once you get used to it
[07:01] jTNT has joined the channel
[07:01] niftylettuce: i got it streaming properly but browsers just h8 it
[07:01] Draggor: progrock: looks like something I'd do in haskell
[07:01] Aphelion has joined the channel
[07:02] Nuck: Browsers suck :S
[07:02] progrock: Draggor: heh, I;ve been meaning to give Hakyll a try... seems pretty cool, and have been wanting to program somehting useful in haskell
[07:03] jonaslund has joined the channel
[07:03] jetienne has joined the channel
[07:03] loob2 has joined the channel
[07:03] luke`_ has joined the channel
[07:06] blakmatrix has joined the channel
[07:08] jTNT has joined the channel
[07:09] jesusabdullah: From what I've read, haskell is a fun language but hard and maybe not very practical
[07:10] SamuraiJack has joined the channel
[07:10] jesusabdullah: Not that you can't write awesome things with it, but that it's better for research than for just doing soccer mom type shit
[07:12] azeroth_ has joined the channel
[07:12] SubStack: I thought it was pretty good for opengl programming
[07:12] SubStack: much nicer than c
[07:12] Nuck: I just got a spam email from a Russian Outsourcing company.
[07:13] insin: Trying to clarify my earlier question - I know flow control is a hot!/sick-to-the-back-teeth! topic, just finding it hard to find out if exactly what I'm looking for already exists in some form :) https://gist.github.com/1158762
[07:14] azeroth_ has joined the channel
[07:14] piscisaureus has joined the channel
[07:15] Nuck: What the fuck, this script keeps maxing out on RAM :/
[07:15] crodas has joined the channel
[07:17] garrensmith has joined the channel
[07:17] jmoyers: insin im confused -- so its taking some like async, step, etc and naming the processes?
[07:17] jmoyers: looks like a promise implementation to me
[07:20] admc has joined the channel
[07:20] insin: it's more like instead of writing your own callbacks for use with promises or whatever implementation and hooking them all up yourself, you would write objects which implement the same methods as the async API you want to use and would generate the callbacks for you, then some piece which does the hooking up for you... I'm confused too! ;)
[07:23] jmoyers: i dont know
[07:23] jmoyers: i'd call it a specific implementation of a job queue
[07:23] jmoyers: or something of that nature
[07:23] jmoyers: a little bit of deferred/future/promise type thing
[07:24] jmoyers: if you want to make it declarative (make someone inherit from your prototype) to create a list of tasks, thats fine. i think most people thinks its fine to just name functions or use Step/async/any of the job queue managers
[07:24] jmoyers: i'd scan here quickly: https://github.com/joyent/node/wiki/modules#wiki-async-flow and make sure nobody's got an implementation that catches your fancy
[07:26] insin: Yeah, I've been through it, loads of great stuff which I think would be heavily used in an implementation of what I want to do
[07:26] insin: Thanks for your thoughts anyway, will think on
[07:26] butu5 has joined the channel
[07:26] insin: Damn, going to spend all day with this in the back of my mind while I'm chasing my kids around at someone's party
[07:27] insin: Bloody programming
[07:28] ay: Hm. Is there a way to extract the statustext, not only the status code?
[07:29] sh1mmer has joined the channel
[07:30] ay: Someone gave me the tips to use res.STATUS_CODES[200] for example. But those are static codes, not the ones returned from the server.
[07:31] ay: Checking varnish for example gives 200 PURGED. And i need to extract Purged.
[07:32] louissmit has joined the channel
[07:34] rgl has joined the channel
[07:38] mape has joined the channel
[07:39] jmoyers: ay https://github.com/joyent/node/blob/v0.4.11/deps/http_parser/http_parser.c#L563-575
[07:39] jmoyers: * we are not humans so just ignore this */
[07:40] insin: nice
[07:41] garrensmith: anyone in here from London?
[07:43] arnee has joined the channel
[07:43] tilgovi has joined the channel
[07:43] tilgovi has joined the channel
[07:44] megalomix: garrensmith, me
[07:44] garrensmith: megalomix: I'm visiting there in Sept-Oct do you guys have any javascript or nodejs meetups?
[07:45] megalomix: (only for vacation :-D )
[07:45] megalomix: i don't know
[07:45] garrensmith: megalomix: lol cool
[07:48] mendel_ has joined the channel
[07:50] csanz has joined the channel
[07:50] __doc__ has joined the channel
[07:55] random123 has joined the channel
[07:55] zastaph has joined the channel
[08:00] ttpva has joined the channel
[08:02] slajax has joined the channel
[08:03] dob_ has joined the channel
[08:03] robotmay has joined the channel
[08:04] mendel_ has joined the channel
[08:05] hekkwan has joined the channel
[08:08] arpunk has joined the channel
[08:13] stisti has joined the channel
[08:15] dexter_e has joined the channel
[08:17] csanz has left the channel
[08:19] mcluskyd_ has joined the channel
[08:21] DrMcKay has joined the channel
[08:22] hellp has joined the channel
[08:22] DrMcKay has joined the channel
[08:22] jetienne has joined the channel
[08:23] liquidproof has joined the channel
[08:26] pradeek has joined the channel
[08:28] pradeek: Hi guys. I was wondering how to access the http.ServerRequest object. For example, running require("util").inspect(require("http").ServerRequest); on the node REPL gives undefined whereas the ServerResponse is defined. Can someone explain?
[08:29] DrMcKay: pradeek: in callback use it's first argument
[08:29] DrMcKay: pradeek: in the sample code on nodejs.org it's req
[08:30] pradeek: @DrMcKay Yes. I would like to test if an object is of type ServerRequest.
[08:31] jhine has joined the channel
[08:31] shinuza has joined the channel
[08:31] achiu has joined the channel
[08:33] DrMcKay: pradeek: https://developer.mozilla.org/en/JavaScript/Reference/Operators/Special/instanceof
[08:33] SubStack: DrMcKay: the problem is that ServerRequest isn't exposed
[08:33] chjj: pradeek, internally its referred to as http.IncomingMessage
[08:33] DrMcKay: ACTION digs in the source code
[08:33] SubStack: pradeek: you could probably check Object.getPrototypeOf(obj).constructor.name
[08:34] chjj: the documentation mentions "ServerRequest" though
[08:34] SubStack: oh actually maybe just obj.constructor.name
[08:34] DrMcKay: !doc link http#ServerRequest
[08:34] dmkbot: http://nodejs.org/docs/latest/api/http.html#http.ServerRequest
[08:34] pradeek: @chjj Will try what you said. Docs say ServerRequest tho.
[08:35] SubStack: yep, IncomingMessage
[08:35] SubStack: for req.constructor.name
[08:35] chjj: it does, but internally its IncomingMessage
[08:35] chjj: i guess it says that to make the documentation more clear and consistent
[08:35] SubStack: aha and IncomingMessage is exposed on http
[08:35] reid has joined the channel
[08:35] chjj: because, for example, ServerResponse inherits from OutgoingMessage
[08:36] SubStack: (req instanceof http.IncomingMessage) is true in my tests
[08:36] DrMcKay: SubStack: true
[08:37] DrMcKay: is it only me or does the documentation need some love?
[08:37] chjj: its tradition that node studying require google searches
[08:37] chjj: and examination of the code
[08:37] DrMcKay: I prefer reading source
[08:37] chjj: :)
[08:38] chjj: yes
[08:38] DrMcKay: OK, so let it be this way :)
[08:39] pradeek: So as such IncomingMessage is the way? Someone has to update the docs.
[08:39] chjj: damn you xargs why do you never work the way i want!
[08:40] DrMcKay: chjj: it's actually called programming ;)
[08:40] reid has joined the channel
[08:40] chjj: =/
[08:40] NetRoY has joined the channel
[08:41] chjj: shell scripts !== programming
[08:41] chjj: so ugly
[08:41] DrMcKay: you should see Bash objective library
[08:41] DrMcKay: (or whatever it was called)
[08:41] chjj: no i shouldnt
[08:41] DrMcKay: but that's why I prefer just to write a Python script than try to convince xargs and find to work for me
[08:41] chjj: bash scripting is an abomination
[08:42] forzan has joined the channel
[08:42] japj has joined the channel
[08:47] i42n has joined the channel
[08:48] TheJH has joined the channel
[08:48] TheJH has joined the channel
[08:49] robi42 has joined the channel
[08:49] gkmngrgn has joined the channel
[08:49] chjj: git status
[08:49] chjj: i love myself :)
[08:51] DrMcKay: chjj: oh, I hate this command, it tells me how counterproductive I was
[08:52] amasad has joined the channel
[08:53] amasad has joined the channel
[08:53] jTNT has joined the channel
[08:56] clifton has joined the channel
[08:58] JakeyChan has joined the channel
[08:59] juyeong_park has joined the channel
[09:02] cachemoney has joined the channel
[09:05] fly-away has joined the channel
[09:07] rchavik has joined the channel
[09:12] mikedeboer has joined the channel
[09:13] amerine has joined the channel
[09:13] DrMcKay has joined the channel
[09:14] ditesh|cassini has joined the channel
[09:14] DrMcKay: ACTION switched to irssi
[09:17] okuryu has joined the channel
[09:17] incon has joined the channel
[09:19] chjj: DrMcKay, good job
[09:19] chjj: irssi === best irc client
[09:20] chjj: i dont even know how i justified using all those other halfbaked irc clients before irssi
[09:20] DrMcKay: chjj: thanks :). now I'll have to use xterm, because gnome-terminal doesn't set URGENT hint for WM on bell
[09:20] chjj: gnome-term is fail
[09:20] DrMcKay: chjj: I've been using Pidgin before, but, well...
[09:20] chjj: try sakura imo
[09:20] chjj: its like gnome-term except it doesnt start up zombie processes for no reason
[09:21] unlink has joined the channel
[09:21] unlink has joined the channel
[09:21] DrMcKay: chjj: I will check it out, thanks
[09:21] chjj: its also a lot more lightweight
[09:21] chjj: less dependencies
[09:22] mikedeboer has joined the channel
[09:22] narayan82 has joined the channel
[09:22] bentkus: imo weechat > irssi
[09:22] chjj: wrong
[09:23] chjj: nothing is better than irssi
[09:23] chjj: sorry
[09:23] Fabryz has joined the channel
[09:23] bentkus: i said IMO
[09:23] bentkus: Your subjective opinion will differ from mine
[09:24] chjj: your opinion is wrong
[09:24] torsd: he's trolling
[09:24] bentkus: your opinion is as fat and ugly as your mom
[09:24] chjj: i dont have opinions, even if my opinion was that irssi sucked, i couldnt hold it, because the sheer quality of irssi would be too overpowering
[09:25] algopats has joined the channel
[09:26] amasad_ has joined the channel
[09:26] bentkus: I don't have opionions - I have only objective facts
[09:26] chjj: what irssi has there, is more than fact
[09:26] chjj: is apriori knowledge
[09:26] chjj: its*
[09:27] chjj: it's*
[09:27] bentkus: I have axioms
[09:27] bentkus: you cant beat axioms
[09:27] chjj: irssi beats itself its so good
[09:27] admc has joined the channel
[09:27] bentkus: if you keep talking like that - ill go beat my meat
[09:27] chjj: !
[09:27] chjj: ACTION stops
[09:28] Metal3d has joined the channel
[09:28] DrMcKay: well, I can't prove it, but I've found an interesting lemma
[09:30] DrMcKay: chjj: oh, this sakura thing is neat
[09:30] chjj: yeah, its not bad
[09:31] bentkus: what is sakura?
[09:31] chjj: a terminal
[09:31] chjj: its a non-failure version of gnome-term essentially
[09:32] pen has joined the channel
[09:32] DrMcKay: chjj: too bad it uses VTE, AFAIK it has no way to set WM urgent hint on bell
[09:33] chjj: yeah well thats why its similar to gnome term in the first place
[09:33] versicolor has joined the channel
[09:33] chjj: i like gnome-term i just dont like its shortcomings
[09:33] DrMcKay: chjj: what shortcomings?
[09:34] DrMcKay: it failed me only once
[09:34] bentkus: whats wrong with xterm
[09:34] chjj: it seems generally slow, and it always starts up zombie processes on me
[09:34] DrMcKay: though it's once too much for a terminal emulator
[09:34] chjj: i would use xterm, but i hate configuring it
[09:35] chjj: if you can teach me how to configure it and keep my sanity, id definitely use it
[09:35] tylerstalder has joined the channel
[09:36] bentkus: damn it
[09:36] bentkus: nodejs has no standard i18n
[09:36] bentkus: now i have to write my own
[09:37] DrMcKay: bentkus: I'm sure there are some modules
[09:37] bentkus: buuuut theeeeyyyy alllll suuuuuuuck
[09:40] DrMcKay: bentkus: it reminds me of latest xkcds
[09:41] DrMcKay: btw, how can I limit google search to one domain, but not subdomains?
[09:41] chjj: what is that mess of consonants?
[09:41] fyskij has joined the channel
[09:41] DrMcKay: I've figured out it would be cool if bot could search for xkcds :)
[09:43] chjj: want to buy a vowel?
[09:43] DrMcKay: chjj: :D. yes
[09:44] TheJH: DrMcKay, there are only 940, you could just download them all and store their "id=transcript" and "" parts?
[09:44] DrMcKay: (and, yes, I know about site: stuff, but it returns subdomains as well)
[09:44] TheJH: (in memory, you could load the stuff from disk or so)
[09:44] DrMcKay: TheJH: xkcd has a JSON API :D
[09:45] TheJH: DrMcKay, huh? where?
[09:45] chjj: how do you guys pronounce json? i say jay-sawn
[09:45] DrMcKay: TheJH: http://xkcd.com/about/
[09:45] bentkus: great
[09:45] TheJH: chjj, me too
[09:45] bentkus: you mentioned xkcd and i wasted 10 minutes reading it
[09:45] bentkus: stop doing that
[09:46] DrMcKay: bentkus: :D
[09:46] DrMcKay: chjj, me too
[09:46] chjj: i know crockford says "jason", but he didnt *really* "make" json, and furthermore, its an acronym, not a word
[09:46] chjj: so i think my pronounciation is valid
[09:46] bentkus: no matter what you say or what you do, you are always right
[09:47] chjj: absolutely
[09:47] chjj: you are the first person that understands me
[09:48] TheJH: meh, my bot escaped and I can't really kill it :/
[09:48] chjj: your bot is on the loose?
[09:48] akshatj has joined the channel
[09:48] TheJH: well, I can ghost it with nickserv if I want to, but not kill it
[09:48] bentkus: kill the ghost in the machine
[09:49] TheJH: the bot is running around on nodejitsu and I can't stop it :D
[09:49] kepheus has joined the channel
[09:49] DrMcKay: TheJH: so that's how it started...
[09:50] chjj: what if your bot eats babies while its on the loose?
[09:50] TheJH: DrMcKay, I can tell the jitsu cli thing to stop it, but it just says "yeah, stopped it". However, the bot still writes stuff in the logs and responds...
[09:50] TheJH: chjj, terrible though
[09:50] TheJH: *thought
[09:50] TheJH: well, I can still declare it a ghost...
[09:51] DrMcKay: TheJH: nodejitsu can't stop it?
[09:51] Fabryz: it's a lie
[09:51] DrMcKay: TheJH: told you, you can host him on my server, it would be as simple as kill -9
[09:52] mike5w3c_ has joined the channel
[09:52] TheJH: DrMcKay, well, nobody of them is currently responding in the channel
[09:52] DrMcKay: I will write this xkcd thing later today
[09:53] chjj: consonant salad again
[09:53] DrMcKay: no, seriously, *later*
[09:53] DrMcKay: don't make me to!
[09:53] DrMcKay: ok, I'll start now
[09:53] DrMcKay: ACTION found out why isn't he being productive on his primary job
[09:55] ay: DrMcKay: About the res.statusCode.. I wanted the acctuall status message, not the static one :-) And someone found this: https://github.com/joyent/node/blob/v0.4.11/deps/http_parser/http_parser.c#L563-575
[09:56] ay: Need to pick up "200 Purge OK" from Varnish for example.
[09:56] DrMcKay: ay: oh, ok
[09:56] ay: case s_res_status:
[09:56] ay: /* the human readable status. e.g. "NOT FOUND"
[09:56] ay: * we are not humans so just ignore this */
[09:56] ay: :-(
[09:56] DrMcKay: yes, I see
[09:56] ay: But I am human!
[09:56] chjj: you are a secret robot
[09:56] chjj: most people are
[09:57] DrMcKay: ay: I can't believe you, sorry
[09:57] ay: Ok you got me. I'm written in assembler and a bit of lisp and fortran and a tiny bit of brainfuck.
[09:58] DrMcKay: ay: I *KNEW* IT!
[09:58] ttpva has joined the channel
[09:58] FireFly has joined the channel
[09:58] DrMcKay: ay: but no, seriously, I doubt there's something you can do with it
[09:59] DrMcKay: ay: if you just need status line you can use sockets and write your own http client
[09:59] DrMcKay: ay: but well, this parser is a bit weird
[09:59] ay: Maybe my first patch to node.js should be comming up.
[09:59] chjj: ay: you could do something
[10:00] DrMcKay: oh, my commit is still the last one, I'm on my best way to acquire fame
[10:00] ronnieboy has joined the channel
[10:00] chjj: server.on('connection', function(socket) { socket.on('data', ...); });
[10:00] ay: But then again, I'm just a bot..
[10:00] chjj: and look for the message yourself
[10:00] chjj: wouldnt be easy or elegant
[10:00] chjj: but it could work
[10:01] chjj: afterward you would probably throw some property on the socket, which could be picked up in the request listener
[10:02] cclafferty has joined the channel
[10:02] ay: But do people agree with this bot that the status message should be available in res? It is a missing feature wouldn't you say?
[10:03] chjj: oh nevermind im stupid you wanted the response line
[10:03] chjj: ignore me
[10:03] chjj: :)
[10:03] chjj: you still could possibly do it the other way though
[10:03] chjj: with a client, if you got the raw socket object
[10:03] chjj: and listened for data events
[10:03] DrMcKay: ay: yes
[10:03] mraleph has joined the channel
[10:04] ay: Yes. But it's fugly. The response object should have it since it allready has the status code.
[10:04] DrMcKay: ay: create an issue and see if rest of guys want it
[10:04] DrMcKay: ay: it should be easy patch
[10:05] DrMcKay: ACTION can't wait to see if bot actually reports these issues correctly
[10:06] Tobsn has joined the channel
[10:07] ttpva_ has joined the channel
[10:07] ay: ACTION loads a perlmodule to do github issue posting
[10:07] DrMcKay: ay: lol'd
[10:08] versicolor has joined the channel
[10:08] DrMcKay: oh, if humans had some plugins system, it would be cool as hell
[10:08] DrMcKay: well, woman have
[10:09] bentkus: :D
[10:09] ay: *hihi*
[10:09] ph^_ has joined the channel
[10:10] jhine has joined the channel
[10:14] fyskij has joined the channel
[10:17] raoul has joined the channel
[10:19] Metal3d has joined the channel
[10:19] tomtomaso has joined the channel
[10:20] DoNaLd`: hi, i generate PDF file with FOP tool in nodejs over exec function to /tmp folder and i need automaticlly open/preview this generated PDF file in browser .. any solution ?
[10:20] DrMcKay: DoNaLd`: OS?
[10:20] DoNaLd`: macosx/unix/linux
[10:21] DrMcKay: On Linux you could just xdg-open
[10:21] DrMcKay: AFAIK, on OS X it's just open
[10:21] SubStack: oh man you guys this is great:
[10:21] SubStack: https://github.com/substack/http-browserify/issues/1
[10:21] DrMcKay: (I mean command line, those are easy to execute from node)
[10:21] DoNaLd`: DrMcKay: but i will it preview directly for user in broswer after generate this PDF
[10:21] DrMcKay: DoNaLd`: oh
[10:22] DrMcKay: DoNaLd`: you just need to put PDF contents into server response and set content-type
[10:22] DrMcKay: SubStack: rotfl
[10:22] mendel_ has joined the channel
[10:23] DrMcKay: SubStack: he isn't serious, right?
[10:23] mcluskydodallas has joined the channel
[10:23] mendel__ has joined the channel
[10:23] DoNaLd`: DrMcKay: do you can show me some example how ?
[10:23] chjj: substack: rofl
[10:23] DrMcKay: DoNaLd`: give me a second, I'll hack out a sample code for you
[10:24] DoNaLd`: DrMcKay: thank you very much
[10:26] hybsch has joined the channel
[10:27] bnoordhuis has joined the channel
[10:28] franck34: noob js question. Got myArray['b']=myObjectB; myArray['a']=myObjectA; myArray=myArray.sort(); It doesn't work, i'm looking for sorting this thing
[10:28] franck34: any idea ?
[10:29] TheJH: franck34, by what do you want to sort?
[10:29] franck34: alphabetical order
[10:29] DrMcKay: DoNaLd`: https://gist.github.com/1158938
[10:29] garrensmith has joined the channel
[10:29] franck34: TheJH: by the keyname
[10:30] DrMcKay: DoNaLd`: just specify correct pdf path
[10:30] DoNaLd`: DrMcKay: nice .. thanx
[10:30] DrMcKay: DoNaLd`: :)
[10:30] TheJH: uhm, franck34, wait... myArray["a"] is kinda wrong
[10:30] franck34: ok
[10:30] TheJH: franck34, JS arrays don't have strings as keys
[10:30] TheJH: franck34, for that, you have to use an object
[10:31] franck34: ha
[10:31] TheJH: franck34, then, you can get a sorted list of keys using Object.keys(obj).sort()
[10:31] franck34: you mean mainObject.b=myObjectB; mainObject.a=myObjectA ?
[10:31] franck34: haaa ok thankgs a lot
[10:31] TheJH: franck34, yes :)
[10:32] franck34: ACTION playing with node + stomp + redis + qooxdoo + socket.io
[10:33] DrMcKay: why the hell do I always read "reddit" instead of "redis"?
[10:33] dexter_e has joined the channel
[10:34] DrMcKay: also, why all these requiters have sooo slow response time?
[10:34] k1ttty has joined the channel
[10:34] DrMcKay: talking to them feels like YouTube through dialup
[10:35] misterm_ has joined the channel
[10:36] vns has joined the channel
[10:36] tnlogy has joined the channel
[10:37] narayan82 has joined the channel
[10:38] prettyrobots has joined the channel
[10:38] MaSch: franck34: you like qooxdoo?
[10:39] vns has joined the channel
[10:39] DoNaLd`: DrMcKay: and when i will this your example somehow integrate to my existing response .. my idea is, that i have my original response, which show my site and automaticlly after rendering of my site, will it render this my PDF stream in new tab/window of browser ?
[10:40] DoNaLd`: DrMcKay: is it possible so combinate ?
[10:40] Ginlock has joined the channel
[10:41] ph^ has joined the channel
[10:41] franck34: TheJH: mmhh in fact it's not what i need. Got quotes={}; quotes[1]={name:'def'}; quotes[2]={name:'abc'}; I'd like to reorder my quotes objects by name
[10:41] vns_ has joined the channel
[10:42] TheJH: franck34, you can't do anything about the order of keys in an object
[10:42] franck34: MaSch: well, i just started since 2 weeks. I prefer the coding approach compared to extjs. I like it atm. But i didn't make lot's of thing for moment.
[10:42] misterm has joined the channel
[10:43] TheJH: franck34, if you want numeric ekys starting at 0 and going up in steps of 1, you can use an array
[10:43] TheJH: *keys
[10:43] TheJH: but not for strings or large steps
[10:43] franck34: well, 1, 2 in fact are quoteID from db
[10:43] franck34: it's my primary key in quotes object
[10:44] franck34: but i'd like to reorder the object by the value of key "name" of each object
[10:44] TheJH: franck34, uhm, you can't reorder the keys of an object
[10:44] franck34: TheJH: obama said yes you can ;) http://stackoverflow.com/questions/1359761/sorting-a-json-object-in-javascript
[10:45] franck34: thanks for you help i understood globaly i think i'll found
[10:46] amasad has joined the channel
[10:46] necrodearia has joined the channel
[10:48] Hugo has joined the channel
[10:48] arpunk has joined the channel
[10:48] DrMcKay: oh, there's been an issue opened at github :<
[10:49] DrMcKay: and dmkbot didn't report it
[10:49] DrMcKay: dmkbot--
[10:49] v8bot_: DrMcKay has taken a beer from dmkbot. dmkbot now has -2 beers.
[10:49] catb0t: dmkbot now has -1 beer
[10:49] DrMcKay: catb0t, v8bot_, maybe you guys should talk to each other?
[10:50] catb0t: should have a question that's been bugging me since you're busy, I was injecting was that its a buffer with a 30 seconds ocal install v8bot
[10:50] DrMcKay: oh.
[10:50] DrMcKay: nvm, gotta fix this issue with issues
[10:50] TheJH: yeah, that's a good question, catb0t...
[10:50] catb0t: question , if it possible to use that to the list of missing or unknown that's
[10:53] dmkbot has joined the channel
[10:53] dmkbot: *http.response.statusMessage missing* reported by auduny: https://github.com/joyent/node/issues/1564
[10:53] dmkbot: *Fix a stack buffer overflow in ChildProcess custom_fd handling.* reported by deanm: https://github.com/joyent/node/issues/1563
[10:53] dmkbot: *Upgrade to 0.9.8r.* reported by DrPizza: https://github.com/joyent/node/issues/1562
[10:53] DrMcKay: dmkbot++[A
[10:53] DrMcKay: dmkbot++
[10:53] v8bot_: DrMcKay has given a beer to dmkbot. dmkbot now has -1 beers.
[10:53] catb0t: dmkbot now has 1 beer
[10:53] DrMcKay: um, what?
[10:54] DrMcKay: catb0t: I know computers aren't good with maths, but seriously, pull it together
[10:54] catb0t: computers hitting your server at large
[10:54] DrMcKay: is he insulting me?
[10:54] japj: very much indeed
[10:55] DrMcKay: what the hell? has GitHub api gone crazy?
[10:56] pickels has joined the channel
[10:57] Fabryz has joined the channel
[10:57] H4ns`` has joined the channel
[10:57] DoNaLd`: DrMcKay: do you have some idea ? :)
[10:58] DrMcKay: DoNaLd`: besides "it won't work", no
[10:58] DrMcKay: but no, seriously, it seems to be a problem with GH API
[10:59] mehtryx has joined the channel
[10:59] DoNaLd`: DrMcKay: hm
[10:59] hybsch has left the channel
[11:00] dmkbot has joined the channel
[11:00] chjj: those computers are at large?
[11:00] dmkbot: *http.response.statusMessage missing* reported by auduny: https://github.com/joyent/node/issues/1564
[11:00] dmkbot: *Fix a stack buffer overflow in ChildProcess custom_fd handling.* reported by deanm: https://github.com/joyent/node/issues/1563
[11:00] dmkbot: *Upgrade to 0.9.8r.* reported by DrPizza: https://github.com/joyent/node/issues/1562
[11:01] japj: what is a problem?
[11:01] felixhummel has joined the channel
[11:01] zomgbie has joined the channel
[11:03] ay: DrMcKay: The bot did it!
[11:04] DrMcKay: ay: it did list today issues
[11:04] DrMcKay: but it doesn't seem to list any when new issue appears
[11:05] TheJH: :D
[11:07] DrMcKay: (or these issues are closed in like 5 seconds)
[11:08] DrMcKay: ok, I'm pointing it to some test repo
[11:08] DrMcKay: let's see what's wrong
[11:09] jTNT has joined the channel
[11:11] dmkbot has joined the channel
[11:12] dmkbot has joined the channel
[11:12] dmkbot: *Hello, dear bot!* reported by mmalecki: https://github.com/mmalecki/throw-away-repo-to-test-dmkbot/issues/1
[11:12] DrMcKay: dmkbot++
[11:12] v8bot_: DrMcKay has given a beer to dmkbot. dmkbot now has 0 beers.
[11:12] catb0t: dmkbot now has 1 beer
[11:14] DrMcKay: oh, in fact, github API doesn't report them :O
[11:15] DrMcKay: some problem with ?since=
[11:15] DrMcKay: I'm bisecting whole time range to find where it stops
[11:16] DrMcKay: WUT?!
[11:16] TheJH: hm? :D
[11:16] DrMcKay: no, seriously, wut?
[11:16] DrMcKay: GitHub says it's after 05:13
[11:16] DrMcKay: They wanted UTC
[11:17] DrMcKay: and there's no way it's 5 AM in UTC
[11:17] DrMcKay: right?
[11:17] TheJH: UTC should be 11:17, I think
[11:17] TheJH: not sure
[11:17] zmbmartin has joined the channel
[11:17] japj: it's 13:17 in The Netherlands now
[11:18] DrMcKay: yes! and GH reports that these issues were reported then
[11:18] TheJH: DrMcKay, anyway, you shouldn't mix your time and github time
[11:18] DrMcKay: "created_at": "2011-08-20T11:13:29Z", but since=2011-08-20T10:00:00Z returns nothing
[11:18] pdelgallego has joined the channel
[11:18] TheJH: ah
[11:18] DrMcKay: we're using UTC anyway
[11:18] DrMcKay: take a look at my repo, it's in lib/modules/github.js
[11:18] TheJH: DrMcKay, no, still, your clock might be a second off or so
[11:19] DrMcKay: TheJH, yes, second, maybe, but not whole fucking 5 hours
[11:19] TheJH: :D
[11:19] wbw72 has joined the channel
[11:20] micheil has joined the channel
[11:20] Gaunt has joined the channel
[11:22] DrMcKay: and APIv2 doesn't support since
[11:23] Threenplusone has joined the channel
[11:23] DrMcKay: I'll mail them
[11:23] DrMcKay: or does someone from GH hang out here?
[11:26] vns has joined the channel
[11:26] junkee[] has joined the channel
[11:26] junkee[] has left the channel
[11:26] junkee[] has joined the channel
[11:27] japj: maybe they have an irc channel?
[11:27] felixhummel has joined the channel
[11:28] langworthy has joined the channel
[11:32] aho has joined the channel
[11:32] boehm has joined the channel
[11:32] micheil: DrMcKay: quite possibly, but they have an irc channel: #github
[11:34] DrMcKay: micheil: oh, thanks, brb
[11:35] vns_ has joined the channel
[11:38] vns_ has joined the channel
[11:39] andrewfff has joined the channel
[11:39] bergie has joined the channel
[11:40] blup has joined the channel
[11:40] misterm: does GH use node at all?
[11:41] DrMcKay: mistern: yes, take a look at their blog
[11:42] misterm: DrMcKay: I just thought I remembered reading about it
[11:42] misterm: thanks
[11:43] DrMcKay: OK, now that's the problem
[11:44] DrMcKay: anyone using xmonad with irssi?
[11:44] topaxi has joined the channel
[11:44] Sembiance: DrMcKay: I use xmonad, but I have irssi open on a remote server in a screen session that I ssh to
[11:44] DrMcKay: Sembience: how do you change windows in irssi?
[11:44] DrMcKay: Sembiance: I mean, xmonad uses Alt-1..9
[11:44] misterm: DrMcKay: I changed the keybindings
[11:44] micheil: misterm: GH use node for the downloads server and a bunch of other small projects
[11:44] Sembiance: DrMcKay: You hit 'Escape', then you hit the number of the screen you want to go to
[11:45] Sembiance: DrMcKay: err the number of the irssi window you want to go to
[11:45] DrMcKay: Sembiance: oh, thank you so much!
[11:45] jvduf has joined the channel
[11:45] DrMcKay: Sembiance++
[11:45] v8bot_: DrMcKay has given a beer to Sembiance. Sembiance now has 1 beers.
[11:45] catb0t: Sembiance now has 1 beer
[11:45] Sembiance: DrMcKay: Once you have more than 10 windows, it goes to q, w, e, r, t, y, etc. for 11, 12, 13, etc
[11:45] Sembiance: ACTION smiles.
[11:46] DrMcKay: I guess I'll stick to 2 now ;)
[11:46] Sembiance: hehe, I have 9 open
[11:46] hij1nx has joined the channel
[11:46] Sembiance: Make that 6: ##javascript, #node.js, #redis, #html5, #mongodb, #yui
[11:47] DrMcKay: Sembiance: and my productivity does something like "bang" than
[11:47] DrMcKay: oh, well, it already did
[11:47] Sembiance: :)
[11:48] Juan77 has joined the channel
[11:51] tomtomaso has joined the channel
[11:52] DrMcKay: yeah, they seem to use local timezone for their server
[11:53] tom-tomaso has joined the channel
[11:53] DrMcKay: It's in California, it's 4:52 AM there
[11:55] DrMcKay: I've sent them an e-mail
[11:55] DrMcKay: but again, it's 4:52 AM there :<
[11:56] TheJH: gnaah, I hate deflate - rfc looks clear and short, but I can't figure out where in this bunch of bits my data is. I compressed "xxx\n" and the deflated stuff looks like "final block: fixed dictionary, 5 bytes stuff I don't know, two times x, a literal byte that shouldn't be there (not an x), 'repeat stuff, length comes now', end of block, one bit padding"
[11:57] TheJH: I'm doing something wrong
[11:57] aho: there are libraries which handle deflate/gzip for you
[11:58] TheJH: aho, I know - libraries that need installed unix libraries or so
[11:58] TheJH: aho, I want to do it in js
[11:59] TheJH: aho, because I want my bot to run on whatever nodejs hosting service I want it to run and because it's good to have for windows stuff anyway
[11:59] TheJH: and because it's interesting
[12:00] DrMcKay: how the hell can I list people on channel here? /who doesn't work
[12:01] DrMcKay: I mean, in irssi
[12:01] N0va` has joined the channel
[12:01] aho: /help
[12:01] topaxi: /n
[12:01] DrMcKay: irssi doesn't output anything
[12:01] DrMcKay: .n
[12:01] aho: :]
[12:01] DrMcKay: oh. thanks
[12:02] DrMcKay: but /who should work as well, I think
[12:02] Fabryz: I have a Player.js class that I use on client side to model the player, now I wanted to share it to the server, how to do that?
[12:02] Fabryz: require('./public/js/Player.js'); seems not working
[12:02] fdenbow has joined the channel
[12:03] DrMcKay: oh, it does, nvm
[12:04] Fabryz: anyone?
[12:04] incon has joined the channel
[12:05] insin: Fabryz: is it set up to export when it's not running a the browser
[12:06] insin: s/a the/in the/
[12:06] Fabryz: not
[12:06] micheil: Fabryz: hmm, for one, node.js doesn't have the file extension in there
[12:06] micheil: (or at least, it use to throw an error on that)
[12:07] Fabryz: tried also to remove it, will look for module export
[12:07] rurufufuss has joined the channel
[12:07] fdenbow has left the channel
[12:07] dmkbot has joined the channel
[12:07] dmkbot: *http.response.statusMessage missing* reported by auduny: https://github.com/joyent/node/issues/1564
[12:07] dmkbot: *Fix a stack buffer overflow in ChildProcess custom_fd handling.* reported by deanm: https://github.com/joyent/node/issues/1563
[12:07] dmkbot: *Upgrade to 0.9.8r.* reported by DrPizza: https://github.com/joyent/node/issues/1562
[12:08] insin: Fabryz: I usually wrap shared code in this sort of construct: https://gist.github.com/1159016
[12:09] Fabryz: mmm
[12:09] insin: e.g here's a build template I use for one of my projects to define and export its public API: https://github.com/insin/newforms/blob/master/build/formsnamespace.js
[12:11] fdenbow has joined the channel
[12:15] eric_8th_Light has joined the channel
[12:18] fairwinds has joined the channel
[12:18] vns has joined the channel
[12:24] wzt has joined the channel
[12:26] kUrld has joined the channel
[12:27] tomtomaso has joined the channel
[12:27] okuryu has joined the channel
[12:28] tom-tomaso has joined the channel
[12:32] hekkwan has joined the channel
[12:32] bradleymeck has joined the channel
[12:32] unlink has joined the channel
[12:32] jacter has joined the channel
[12:33] langworthy has joined the channel
[12:34] felixhummel has joined the channel
[12:35] TheJH: DrMcKay, that youtube video you linked in the github issue isn't available in germany :/
[12:36] DrMcKay: TheJH: oh...
[12:36] DrMcKay: TheJH: this maybe? http://www.youtube.com/watch?v=dQw4w9WgXcQ
[12:36] TheJH: DrMcKay, and googling that url says "rick roll'd" :D
[12:36] DrMcKay: :D
[12:37] Carter1 has joined the channel
[12:37] TheJH: muhaha, germans are immune aganist rickroll :D
[12:37] TheJH: (and a bunch of other youtube content :/ )
[12:38] DrMcKay: TheJH: you're safe... for now... :D
[12:38] garrensmith has joined the channel
[12:38] DrMcKay: same thing in Poland
[12:39] cjroebuck has joined the channel
[12:39] DrMcKay: but rick roll works
[12:40] DrMcKay: I'm still waiting for YT to convert all videos to HTML5
[12:40] DrMcKay: I mean, is it *that* hard?
[12:40] rgl has joined the channel
[12:42] TheJH: I liked their html5 right click->save rick roll :D
[12:43] jj0hns0n has joined the channel
[12:48] Fabryz: used (function(exports) { http://bit.ly/nQca2y })(typeof exports === 'undefined' ? this['Player'] = {} : exports); and in the server require('./public/js/Player'); then p = new Player(); still not working
[12:49] vns has joined the channel
[12:49] TheJH: meh, how can I install 0.5.4 with nvm?
[12:56] nibblebot has joined the channel
[12:56] db has joined the channel
[12:57] brayann16k has joined the channel
[12:57] brayann16k: hello
[12:57] brayann16k: i ve un unknown prb with the instalation of nodejs with cygwin , any help please ?
[12:59] TheJH: brayann16k, could you please gist the rror message?
[12:59] TheJH: *error
[12:59] DrMcKay_ has joined the channel
[12:59] shapeshed has joined the channel
[13:00] brayann16k: yes
[13:00] felixhummel has joined the channel
[13:00] brayann16k: when i ve fellow the fellowin instructions
[13:00] brayann16k: $ cd ~ $ git clone git://github.com/joyent/node.git $ cd node $ git fetch --all # if the above fails complaining --all is not recognised, try: git fetch origin $ git tag $ git checkout [latest stable tag from previous command, e.g., v0.2.5] $ ./configure
[13:01] brayann16k: wait i will write line perline
[13:01] brayann16k: $ cd ~
[13:01] brayann16k: $ git clone git://github.com/joyent/node.git
[13:01] brayann16k: $ cd node
[13:01] brayann16k: $ git fetch --all
[13:01] brayann16k: $ git tag
[13:02] TheJH: bradwright, stop that
[13:02] TheJH: ehm, brayann16k
[13:02] brayann16k: ok
[13:02] TheJH: brayann16k, use gist
[13:02] zastaph has joined the channel
[13:02] brayann16k: so when i ve type ./configure
[13:02] TheJH: !@brayann16k mem gist
[13:02] jhbot: brayann16k, Gist is kind of a pastebin. Every paste is a git repo. https://gist.github.com/
[13:02] brayann16k: i get an error
[13:03] brayann16k: i get an errorro when i ve exeute the command ./configure
[13:03] TheJH: brayann16k, put that error on gist
[13:03] brayann16k: 2 main phok ok
[13:03] brayann16k: ok i will put it
[13:04] brayann16k: i seem its smth ve link with the pytho
[13:04] brayann16k: *phython
[13:07] Intuit` has joined the channel
[13:08] bergie has joined the channel
[13:10] bradleymeck has joined the channel
[13:12] mcluskydodallas has joined the channel
[13:12] int_64 has joined the channel
[13:12] mikedeboer has joined the channel
[13:13] squeese has joined the channel
[13:14] brayann16k: thanks for u all ; i ve found the solution
[13:14] brayann16k: ve a nice day
[13:14] Intuit` has joined the channel
[13:15] mcluskyd_ has joined the channel
[13:17] zomgbie has joined the channel
[13:21] arpunk has joined the channel
[13:21] cachemoney has joined the channel
[13:23] xtianw has joined the channel
[13:23] DrMcKay_: umm... this libuv is the core of node.js, right?
[13:24] Sembiance: hrm?
[13:24] DrMcKay_: but it's a C library, so it would be theorertically possible to port to Python.
[13:25] DrMcKay_: I mean: use it from Python
[13:25] DrMcKay_: do something like node.js but in Python
[13:25] misterm: DrMcKay_: depends on how you define "core"
[13:25] DrMcKay_: misterm: it handles I/O asynchronously, right?
[13:25] misterm: libec is the core of the event loop, yea
[13:25] misterm: *libev
[13:26] DrMcKay_: (at least this is how code looks like)
[13:26] DrMcKay_: libuv
[13:26] DrMcKay_: I think I have to learn how to write Python modules in C
[13:27] DrMcKay_: and why the hell do I have this underscore?
[13:27] DrMcKay has joined the channel
[13:28] bentkus: DrMcKay: Awesome languages can access C code from the language itself
[13:29] hasta84 has joined the channel
[13:30] DrMcKay: bentkus: Python has some bindings for dl_open and friends, I think
[13:30] chjj: i heard C can do that
[13:30] bentkus: you can HEAR?
[13:30] DrMcKay: bentkus: yes, it does, ld module
[13:31] DrMcKay: or ctypes
[13:31] DrMcKay: chjj: what language is it?
[13:31] DrMcKay: chjj: I haven't heard about it yet
[13:31] int_64 has joined the channel
[13:31] DrMcKay: probably some hipsterish shit
[13:31] chjj: DrMcKay: what language? im not sure, its this weird language called C
[13:31] chjj: i think its pretty new
[13:32] coreb has joined the channel
[13:32] DrMcKay: what interpreter runs it?
[13:32] DrMcKay: I can't find one :/
[13:32] chjj: i think its implemented in java
[13:32] chjj: wait...yeah, pretty sure java
[13:32] coreb: with node 0.5, is there a build of npm that works on windows?
[13:32] DrMcKay: coreb: cygwin
[13:32] DrMcKay: chjj: oh, there are way too many languages for jvm now
[13:33] chjj: i think i would still use node with cygwin
[13:33] bentkus: there actually some funny projects
[13:33] bentkus: like C compilers which compile C to javascript
[13:33] franck34: is there a way to md5(myString) with node ??
[13:33] bentkus: 300x slowdown
[13:33] franck34: seem's not using new buffer
[13:33] bentkus: yeah there is franck34, go to the official node.js site -> docs -> cryptography i guess
[13:33] chjj: franck34 require('crypto')
[13:33] franck34: thanks all
[13:34] DrMcKay: !doc link crypto#md5
[13:34] johnnyboy has joined the channel
[13:34] DrMcKay: shit, bot is down or what?
[13:34] DrMcKay: !ping
[13:34] johnnyboy: yo all
[13:34] bentkus: is the bot written with node.js?
[13:34] bentkus: There is no decent library for irc on node.js
[13:34] chjj: i still dont know whatever happened to the good bot
[13:34] DrMcKay: bentkus: yes
[13:34] dmkbot has joined the channel
[13:34] johnnyboy: Anybody knows why crypto.createHash('md5') returns an empty object?
[13:34] dmkbot: *http.response.statusMessage missing* reported by auduny: https://github.com/joyent/node/issues/1564
[13:34] dmkbot: *Fix a stack buffer overflow in ChildProcess custom_fd handling.* reported by deanm: https://github.com/joyent/node/issues/1563
[13:34] dmkbot: *Upgrade to 0.9.8r.* reported by DrPizza: https://github.com/joyent/node/issues/1562
[13:35] chjj: the bot that was here months ago
[13:35] DrMcKay: bentkus: check it out on github
[13:35] bentkus: i checked, all shit
[13:35] DrMcKay: bentkus: https://github.com/mmalecki/dmkbot
[13:35] DrMcKay: well, whoa
[13:36] DrMcKay: I've seen this C hello world tutorial
[13:36] DrMcKay: what's that weird "char*"?
[13:36] chjj: im starting to think DrMcKay is serious now
[13:36] DrMcKay: and what does it mean "compile"?
[13:36] chjj: lol
[13:36] johnnyboy: lol
[13:37] pongwon has joined the channel
[13:37] DrMcKay: I guess that guy wanted to write "interpret" or something
[13:37] johnnyboy: compile is an abbr for "COMe on this is a PILE of shite dont mess with it"
[13:37] yept has joined the channel
[13:37] DrMcKay: johnnyboy: :D
[13:37] bentkus: damn it
[13:38] DrMcKay: I still can't believe that some people in my class actually don't know what it means
[13:38] jvduf has joined the channel
[13:38] bentkus: I spent my a lot of free time the last year integrating C#/mono into my gaming server and writing a node.js like framework for it
[13:38] johnnyboy: are you learning for a doctor DrMcKay?
[13:38] johnnyboy: then dont be so suprised :D
[13:38] bentkus: now i see that i should have just integrated nodejs and have it all at once
[13:39] bentkus: socket.io is the most awesome thing
[13:39] DrMcKay: johnnyboy: nah, vocational school
[13:39] DrMcKay: it technician
[13:39] Sembiance: bentkus: yah, socket.io has been cool from the very first day it came. It's nice :)
[13:39] Intuit` has joined the channel
[13:39] bentkus: I'm too lazy to create Socket.io-manos (for C#)
[13:39] johnnyboy: i guess there arent a lot of C wizards there :S
[13:40] DrMcKay: do you guys have vocational schools in your countries?
[13:40] DrMcKay: johnnyboy: no :(
[13:40] johnnyboy: int_64 LOL thats the nickname
[13:40] tuhoojabotti: DrMcKay: Yes.
[13:40] johnnyboy: fuckinell i come up here next time as size_t
[13:40] DrMcKay: tuhoojabotti: is it actually sane school?
[13:41] DrMcKay: I mean, in my class there are people who though they're going to play CS or something
[13:41] bentkus: there is an irc module
[13:41] johnnyboy: okay motherfuckers enough of the chit chat sy tell my
[13:41] tuhoojabotti: That's vocational school for you xD
[13:41] bentkus: i play cs too
[13:41] johnnyboy: y u no work crypto,createHash("md5") ?
[13:41] johnnyboy: , means . here
[13:41] Wizek has joined the channel
[13:41] tuhoojabotti: DrMcKay: http://naurunappula.com/536595/lukio-vs-amis.jpg
[13:41] DrMcKay: bentkus: yes, but like, everytime?
[13:41] Kingdutch has joined the channel
[13:42] bentkus: DrMcKay: actually I used to play, now I'm just coding for my cs server
[13:42] bentkus: a lot of fun integrating an entire VM into a closed source app
[13:42] chjj: that is nerdtastic
[13:42] misterm: has anyone here used mongrel2 -> node?
[13:42] Kingdutch: Hi everyone, what's the easiest way to let a node program run under a certain group (For file access etc.) I can't start node as root which is needed for setgid
[13:42] bentkus: hooking virtual methods and reading assembler code all the time
[13:42] DrMcKay: best thing is that I've taken an exam at the beginning of the year, so I don't have to take this classes
[13:42] DrMcKay: bentkus: wow
[13:42] digitalsabre has joined the channel
[13:43] iivvoo has joined the channel
[13:43] bentkus: there is a lot of ground to shit on
[13:43] misterm: if so I'd be interested in a bried summary of the experience
[13:43] DrMcKay: Kingdutch: Linux?
[13:43] Kingdutch: Jup
[13:43] Kingdutch: Why do people suspect me of coding node.js for windows ? :O
[13:43] DrMcKay: su -l user?
[13:43] bentkus: coding on windows
[13:43] johnnyboy: lol
[13:43] DrMcKay: lol
[13:43] johnnyboy: whoami
[13:44] bentkus: coding on windows is only a good idea when you are coding with visual studio for C#
[13:44] johnnyboy: c#
[13:44] johnnyboy: ?
[13:44] johnnyboy: devil's advocate!!!!
[13:44] bentkus: once you start hackign on awesome stuff, you better go unix
[13:44] johnnyboy: ban plz
[13:44] bentkus: im not advocating it stupid
[13:44] johnnyboy: :D
[13:44] Kingdutch: DrMcKay: But it's not a certain user
[13:44] Kingdutch: Just a certain group
[13:44] misterm: f# is kind of sweet
[13:44] DrMcKay: I remember those days when I didn't even know when Linux existed
[13:45] DrMcKay: it was such a pain
[13:45] johnnyboy: microsoft product too :S
[13:45] DrMcKay: then I learned to talk, IIRC
[13:45] DrMcKay: s/when/that/
[13:45] Sorella has joined the channel
[13:45] bentkus: damnnnnn
[13:45] DrMcKay: Kingdutch: just a gid?
[13:45] bentkus: so much to do so little time and power
[13:45] bentkus: ;D
[13:45] jamesd: Kingdutch, http://benno.id.au/blog/2011/08/09/safely-dropping-privileges-node-js
[13:45] Kingdutch: DrMcKay: Yea
[13:46] johnnyboy: lol
[13:46] johnnyboy: do you like whiners guys? if no then answer my question :D plz
[13:46] johnnyboy: and i will fakof
[13:46] DrMcKay: Kingdutch: you can't use sudo, right?
[13:46] bentkus: cool
[13:46] Kingdutch: sudo doesn't find node =/
[13:46] Kingdutch: Although I do have sudo access
[13:46] DrMcKay: oh, that's simple!
[13:46] DrMcKay: give it a full path
[13:46] Kingdutch: And jamesd I know about the various set*** to drop acecss
[13:46] Kingdutch: using nvm?
[13:47] DrMcKay: /usr/local/bin/node, probably
[13:47] johnnyboy: bentkus
[13:47] johnnyboy: ready for that?
[13:47] bentkus: for what/
[13:47] soapyillusions has joined the channel
[13:47] DrMcKay: sudo /usr/local/bin/node script.js
[13:47] ryanfitz has joined the channel
[13:47] johnnyboy: to help me out :D
[13:47] johnnyboy: lol
[13:47] bentkus: what kind of help do you need?
[13:48] bentkus: my bookmark collection just got a little bit bigger
[13:48] johnnyboy: var crypto = require('crypto'); var h = crypto.createHash('md5'); // h is an empty object. why?
[13:48] bentkus: soon ill have to host my own server
[13:48] DrMcKay: Kingdutch: remember to drop privileges then
[13:48] DrMcKay: .. 'test'
[13:48] catb0t: 'test'
[13:49] DrMcKay: .. var crypto = require('crypto'); var h = crypto.createHash('md5');
[13:49] catb0t: ReferenceError: require is not defined
[13:49] DrMcKay: .. crypto
[13:49] catb0t: ReferenceError: crypto is not defined
[13:49] DrMcKay: no shit
[13:49] johnnyboy: ouch? :D
[13:49] Kingdutch: DrMcKay: /home/kingdutch/.nvm/v0.4.9/bin/node : (
[13:49] DrMcKay: Kingdutch: than run it like that
[13:50] DrMcKay: sudo /home/kingdutch/.nvm/v0.4.9/bin/node script.js
[13:50] Kingdutch: Well yeah
[13:50] DrMcKay: v8bot: require('crypto')
[13:50] v8bot_: DrMcKay: Use v8: to evaluate code or "`v commands" for a list of v8bot commands.
[13:50] Kingdutch: but I wanna put this in a start up script which makes that a bit tedious if versions change =/
[13:50] bentkus: dunno
[13:50] DrMcKay: v8: var crypto = require('crypto'); return crypto.createHash('md5');
[13:50] v8bot_: DrMcKay: ReferenceError: require is not defined
[13:50] bentkus: never used it
[13:50] bentkus: but it seems strange
[13:50] DrMcKay: fuck!
[13:50] bentkus: im using 4.9 too
[13:51] DrMcKay: Kingdutch: install node in some global localization, like /usr/bin
[13:51] bentkus: yeah, good idea
[13:51] DrMcKay: Kingdutch: that makes life a lot easier
[13:51] bentkus: and then give me your root password
[13:51] johnnyboy: bentkus :DDDDDDD
[13:51] johnnyboy: lol
[13:51] Kingdutch: Doesn't allow me to use nvm though =/
[13:51] Kingdutch: And nvm makes life easy lol
[13:51] xtianw has joined the channel
[13:51] tuhoojabotti: DrMcKay: http://naurunappula.com/484188/amis-vs-lukio.jpg right one is vocational.
[13:52] Kingdutch: DrMcKay: ^
[13:52] johnnyboy: nice pic
[13:52] DrMcKay: tuhoojabotti: oh, it's that bad?
[13:52] tuhoojabotti: At least in Finland.
[13:52] mattcodes has joined the channel
[13:53] bentkus: dunno why it doesnt work
[13:53] mattcodes: getting to stage where I need a step/async helper. which was the one TJ Holo.. recently recommended (possibly via twitter)?
[13:53] DrMcKay: tuhoojabotti: I feel sorry for you
[13:53] bentkus: maybe you compiled it without some libmd5-dev present
[13:53] DrMcKay: but, when I look at my class...
[13:53] tuhoojabotti: DrMcKay: I'm in high school
[13:53] tuhoojabotti: or college
[13:53] tuhoojabotti: or something
[13:53] tuhoojabotti: lukio in finnish
[13:53] bentkus: Don't look at them, the norwegian dude already told us that you have to shoot them all
[13:53] DrMcKay: tuhoojabotti: I meant I feel sory for Finland :D
[13:54] tuhoojabotti: DrMcKay: We all do.
[13:54] johnnyboy: The crypto module requires OpenSSL to be available on the underlying platform. lol this why
[13:54] johnnyboy: :D
[13:54] johnnyboy: fkinel
[13:54] bentkus: ./configure -- checkout the output
[13:54] johnnyboy: guess im goin to read the docs first
[13:54] DrMcKay: Kingdutch: why doesn't npm work?
[13:54] bentkus: it will probably return some hints about what is missing for md5
[13:54] johnnyboy: on a windows box atm
[13:54] johnnyboy: doesnt give me any warningz
[13:54] micheil: johnnyboy: you'll like the commit from yesterday then..
[13:54] DrMcKay: johnnyboy: Windows is a warning
[13:55] johnnyboy: DrMcKay lol
[13:55] johnnyboy: micheil wut did they do yesterday?
[13:55] Raynos has joined the channel
[13:55] DrMcKay: johnnyboy: new openssl, iirc
[13:55] Raynos: How do I access scope in node.js ?
[13:55] micheil: https://github.com/joyent/node/commits/gyp-openssl
[13:55] johnnyboy: wow lol
[13:55] johnnyboy: nice
[13:55] johnnyboy: thanks
[13:56] Raynos: It used to be that variables were written to `module`
[13:56] micheil: however, it's experimental still, afaik.
[13:56] micheil: it's just a branch to check that it works.
[13:57] johnnyboy: how can i ask node's version from node?
[13:57] johnnyboy: dunno what do i runnin
[13:57] micheil: node --version ?
[13:57] johnnyboy: *run
[13:57] johnnyboy: hehe :D
[13:57] johnnyboy: ty
[13:57] hlindset has joined the channel
[13:58] johnnyboy: omfg they upgraded like 0.2 in some weeks
[13:58] Kingdutch: DrMcKay: npm works, but nvm makes life easier for updating, although it doesn't give you an absolute path
[13:58] johnnyboy: thats wut i call pace
[13:59] DrMcKay: Kingdutch: you update node with npm?
[14:00] Kingdutch: no
[14:00] Kingdutch: nvm != npm
[14:00] Kingdutch: Node Version Manager != Node Package Manager
[14:00] nodokodo has joined the channel
[14:00] DrMcKay: Kingdutch: oh, nVm
[14:00] Kingdutch: lol
[14:00] DrMcKay: oh... I feel stupid now.
[14:01] DrMcKay: assume everything I've said as a complete bullshit
[14:01] andrewfff has joined the channel
[14:01] DrMcKay: but nvm can't do this globally?
[14:01] Kingdutch: Apparantly not
[14:01] Kingdutch: Not sure
[14:02] rfay has joined the channel
[14:03] johnnyboy: lol wait the other parts of crypto does work for me
[14:03] Kingdutch: DrMcKay: on a more pressing note: buffer.js:156
[14:03] Kingdutch: throw new Error('First argument needs to be a number, ' +
[14:03] johnnyboy: wtf did i get into a stephen king novel?
[14:03] DrMcKay: Kingdutch: you could just install one node version globally (the version you'll be using to run a script)
[14:03] DrMcKay: Kingdutch: where does it throw it? code?
[14:04] Kingdutch: fs.writeFile(outFile, xml, function (err) {
[14:04] Kingdutch: that's what I narrowed it down to
[14:04] Kingdutch: Although it doesn't actually tell me
[14:04] Kingdutch: at fs.js:476:51
[14:04] Kingdutch: is the outermost error line I get
[14:05] DrMcKay: Kingdutch: node version?
[14:05] Kingdutch: 0.4.9
[14:05] isufy has left the channel
[14:06] DrMcKay: so it's about data parameter
[14:06] DrMcKay: wait, no
[14:06] DrMcKay: no
[14:06] Raynos: why dont we have access to the scope object anymore?
[14:07] DrMcKay: it's probably in Buffer constructor
[14:07] Raynos: Where are module local variables stored?
[14:07] Kingdutch: Apparantly my xml is empty
[14:07] isufy has joined the channel
[14:07] boehm has joined the channel
[14:07] TheJH: Raynos, uhm, what? Local variables aren't on an object
[14:07] TheJH: Raynos, at least I'm pretty sure
[14:07] Raynos: TheJH: they used to be on module
[14:07] Raynos: If you declare a variable inside a module. In the browser it would be written to window.
[14:08] DrMcKay: Kingdutch: line you got it on is weird: https://github.com/joyent/node/blob/v0.4.9/lib/buffer.js#L176
[14:08] Raynos: In node it used to be written to module
[14:08] Raynos: It allowed for some nice meta programming :( apparently this feature was removed
[14:08] DrMcKay: Kingdutch: parent may have some getter
[14:08] e6nian has joined the channel
[14:08] DrMcKay: Kingdutch: nah
[14:08] isufy has joined the channel
[14:08] DrMcKay: or it may! if data is a buffer
[14:09] isufy has joined the channel
[14:09] Yoric has joined the channel
[14:09] TheJH: Raynos, there's a hidden closure around each module, so that can't be, I think
[14:09] DrMcKay: Kingdutch: I don't know, that may be some issue. verify that your script uses valid data
[14:10] Raynos: TheJH: How do I meta program it? :(
[14:10] TheJH: Raynos, every script gets wraped in (function (exports, require, module, __filename, __dirname) {...});
[14:10] TheJH: *wrapped
[14:10] e6nian: when I build node.js from source with tag v0.4.11, AttributeError: 'NoneType' object has no attribute 'id' ...then. make Error
[14:10] DrMcKay: e6nian: some problem with build system
[14:10] TheJH: Raynos, attach your variables to an object or so? depends on your needs. what do you want to do?
[14:10] DrMcKay: what are you building on?
[14:10] e6nian: macosx
[14:11] DrMcKay: e6nian: paste log to gist
[14:11] Raynos: TheJH: https://gist.github.com/1159150
[14:11] e6nian: DrMcKay: ok
[14:11] butu5 has joined the channel
[14:12] pietern has joined the channel
[14:13] TheJH: Raynos, why not `exports["create"+name]`?
[14:13] TheJH: Raynos, even `exports[name]` should work
[14:13] e6nian: DrMcKay: http://pastebin.com/vu84xM8g
[14:13] Raynos: TheJH: because I use the create functions in my script aswell.
[14:13] e6nian: thank you
[14:13] DrMcKay: oh, metaprogramming in node.js?
[14:13] DrMcKay: might be cool for a blog post
[14:13] mcluskydodallas has joined the channel
[14:14] Raynos: DrMcKay: we can't meta program with variables anymore
[14:14] TheJH: Raynos, uhm, how is that relevant?
[14:14] Raynos: TheJH because then I have to reference them as export.createBatch rather then createBatch
[14:14] Raynos: its less elegant
[14:14] TheJH: Raynos, you can use both
[14:14] TheJH: Raynos, you're currently attaching them to exports anyway
[14:14] Raynos: Anything written to exports I can use as a local variable?
[14:15] e6nian: DrMcKay: any idea about that?
[14:15] kenperkins has joined the channel
[14:15] TheJH: Raynos, ah, wait, you want the code at the top instead of the code at the bottom?
[14:15] DrMcKay: e6nian: seems to be this issue with waf: http://code.google.com/p/waf/issues/detail?id=451
[14:15] Raynos: yes
[14:15] Raynos: The code at the top is supposed to remove the code at the bottom
[14:16] mcluskyd_ has joined the channel
[14:17] Kingdutch: DrMcKay: It's cool how node.js can choke in such a weird way on an empty string >.<
[14:17] Kingdutch: Anyway I'm running as nobody:somegroup
[14:17] Kingdutch: And the files belong to .. nvm
[14:17] galaxywatcher has joined the channel
[14:18] TheJH: Raynos, ah, I think that what you're trying could work in a somehow altered form if you tell node to activate the context load thing
[14:18] Raynos: context load thing?
[14:18] e6nian: DrMcKay: not like that, I'm on macosx ,not windows
[14:18] DrMcKay: Kingdutch: you have nvm user in the system?
[14:18] Raynos: I just want to programatically
[14:18] Kingdutch: I got it solved
[14:18] Raynos: inject module local variables using strings
[14:18] TheJH: Raynos, set the environment variable NODE_MODULE_CONTEXTS to 1
[14:18] Raynos: without using eval
[14:18] Kingdutch: Had to add write permissions to the parent folder for the group ; )
[14:19] Kingdutch: nvm in this case was nevermind
[14:19] Kingdutch: :P
[14:19] TheJH: Raynos, then attach stuff to "global"
[14:20] DrMcKay: e6nian: e6nian: are you building on a network drive?
[14:20] Raynos: TheJH: Are there any downsides to this?
[14:20] maushu has joined the channel
[14:21] e6nian: DrMcKay: no
[14:21] e6nian: DrMcKay: maybe my python env ?
[14:21] TheJH: Raynos, only if some modules don't respect the "don't attach stuff to the global object" convention
[14:22] Raynos: TheJH: and the whole global.Function !== global.Function
[14:22] Raynos: instanceof checks breaking everywhere
[14:22] Raynos: I use far too much 3rd party code to risk that.
[14:22] TheJH: Raynos, I'm not sure, sorry - I think you'll have to ask someone who knows more about it
[14:23] TheJH: ACTION goes back to trying to understand deflate
[14:24] cha0s has joined the channel
[14:24] cha0s has joined the channel
[14:26] Raynos: TheJH: thanks for your input though
[14:26] DrMcKay: e6nian: does master build correctly?
[14:28] Metal3d has joined the channel
[14:29] e6nian: DrMcKay: error the same
[14:29] micheil has joined the channel
[14:30] e6nian: DrMcKay: I have two python env,one is default installed macosx python 2.6.1,another is installed by homebrew 2.7.2
[14:30] e6nian: DrMcKay: how to taste which env in my Makefile?
[14:32] Metal3d1 has joined the channel
[14:32] charleyd has joined the channel
[14:35] stevekc has joined the channel
[14:36] Metal3d has joined the channel
[14:36] stephank: Hmm... if we could wrap global with a harmony proxy, I think we could have an auto loader.
[14:38] jtsnow has joined the channel
[14:38] hij1nx has joined the channel
[14:40] DrMcKay: e6nian: it may be an issue with node build system
[14:40] rgl has joined the channel
[14:40] DrMcKay: e6nian: node should work with both of them, I think
[14:41] TheJH: stephank, but that auto loader would need a way to determine in which file a given method is
[14:41] TheJH: right?
[14:42] TheJH: stephank, actually, I think we could just add a global object "import" or so which is a harmony proxy...
[14:42] stephank: TheJH: Not really, most people store a module in a variable with the same name, as in `var net = require('net');`
[14:43] e6nian: DrMcKay: when I build v0.4.10 last time(weeks ago?),it's ok, but this time , I checkout to v0.4.10, the same error ...
[14:43] Metal3d has joined the channel
[14:44] DrMcKay: e6nian: weird, were you building with the same settings?
[14:44] stephank: TheJH: That doesn't add much. You'd either have to mention it everywhere (`import.net.createServer`) or still more or less explicitely import it (`var net = import.net`)
[14:44] ceej has joined the channel
[14:44] TheJH: true. but magic "net" is somehow too magic to me
[14:44] mynyml has joined the channel
[14:45] NetRoY has joined the channel
[14:45] Destos has joined the channel
[14:45] e6nian: DrMcKay: I think my python env changed(I port macports to homebrew)
[14:45] stephank: True. I guess it works well for rails because classes and modules all have CamelCase names
[14:46] Fauntleroy has joined the channel
[14:46] Fauntleroy: howdy
[14:46] DrMcKay: e6nian: build system runs `python`, I think
[14:46] Fauntleroy: is anyone here familiar with uploading to a node.js backend with plupload?
[14:46] DrMcKay: e6nian: use which to check what version it runs
[14:47] e6nian: DrMcKay: which is ok
[14:47] DrMcKay: e6nian: it uses the same version as before?
[14:47] e6nian: DrMcKay: homebrew installed python 2.7.2
[14:48] e6nian: DrMcKay: before that, I use macports python 2.7.2
[14:48] Carter1 has joined the channel
[14:48] DrMcKay: e6nian: did homebrew replace macports version?
[14:50] e6nian: DrMcKay: yeah, remove macports version,then fresh new installed macports
[14:51] e6nian: DrMcKay: yeah, remove macports version,then fresh new installed homebrew version
[14:51] DrMcKay: e6nian: would you mind trying to compile with macports version again?
[14:51] jtsnow has joined the channel
[14:52] e6nian: DrMcKay: no, but I wanna try recompile my homebrew python version now
[14:52] ryanfitz has joined the channel
[14:53] robotmay has joined the channel
[14:53] DrMcKay: e6nian: OK, but I don't really know how would they differ
[14:54] DrMcKay: e6nian: you should ask someone with a Mac probably
[14:54] ldblackfox has joined the channel
[14:54] ldblackfox: hi
[14:55] ldblackfox: I really need your help
[14:55] DrMcKay: My hobby: browsing pastebin and laughing at PHP sources
[14:55] Sembiance: heh
[14:56] Sembiance: ahh, pastebin
[14:56] ldblackfox: is there a way to execute system commands synchronousely?
[14:56] JumpMast3r has joined the channel
[14:56] e6nian: DrMcKay: thanks you all the same
[14:56] TheJH: ldblackfox, only filesystem access, nothing else.
[14:57] simenbrekken has joined the channel
[14:57] Fauntleroy: http://stackoverflow.com/questions/4443597/node-js-execute-system-command-synchronously
[14:57] Sembiance: ldblackfox: first, in general that's not a good idea. If your looking for an easier way to handle 'Do A, B, C', I highly advise using step: https://github.com/creationix/step I'd never use node.js without Step
[14:57] DrMcKay: I bet noone of you would break this: http://pastebin.com/XRL5PBXh
[14:57] Sembiance: ldblackfox: but if you absolutely really want to, you can follow some of the links others here will send you :)
[14:57] ldblackfox: Sembiance: TheJH : actually, i'm playing with my init system script, and I must have synchronous call
[14:57] chjj has joined the channel
[14:58] jtsnow has joined the channel
[14:58] Sembiance: in my humble opinion, the step module makdes using node.js bearable :)
[14:58] Sembiance: well, makes using node.js awesome :)
[14:58] Fauntleroy: checking out step, thanks for the rec
[14:58] TheJH: ldblackfox, I'm sure it doesn't "need" it.
[14:58] Sembiance: ldblackfox: interesting :)
[14:58] g3funk has joined the channel
[14:59] TheJH: ldblackfox, you can do everything asynchronously
[14:59] Fauntleroy: is step on GitHub?
[14:59] ldblackfox: TheJH: actually there are a lot of syscall while boot
[14:59] ldblackfox: and there is an order needed
[14:59] Fauntleroy: found it
[14:59] g3funk has left the channel
[14:59] JumpMast3r: anyone have moment for a question regarding http-proxy? I see on the site that it explicitly supports https -> http and https -> https proxy. Does anyone know how (if if you can) set it to proxy http -> https?
[14:59] ldblackfox: just take a look at the arch's init scripts
[14:59] TheJH: ldblackfox, then you need callbacks
[15:00] ldblackfox: but pushin like 20 commands in callback becomes heavy, no?
[15:00] NetRoY has joined the channel
[15:00] ldblackfox: (even more)
[15:01] simenbrekken has joined the channel
[15:02] ldblackfox: TheJH: for the moment, at the half of the script, i've got like 16 command calls
[15:02] TheJH: ldblackfox, could you gist your code?
[15:03] Sembiance: Fauntleroy: https://github.com/creationix/step
[15:03] Fauntleroy: ty
[15:03] blup has joined the channel
[15:04] N0va` has joined the channel
[15:05] ldblackfox: http://pastebin.com/Pyrw0dZU
[15:05] ldblackfox: a bit crappy for now
[15:05] Metal3d has joined the channel
[15:06] TheJH: ldblackfox, and you want which stuff to be async?
[15:06] TheJH: *to be sync
[15:07] ldblackfox: TheJH: filesystem must be mounted before udev start, and to start udev, we must have stuffs executed sync
[15:07] blueadept: ldblackfox: https://github.com/caolan/async
[15:08] blueadept: perhaps you want to go with the waterfall method from this lib
[15:08] TheJH: ldblackfox, but doing everything in serial would slow stuff down, right?
[15:08] TheJH: blueadept, "auto" is better for him
[15:08] blueadept: i use it a lot to mimic synchronous actions
[15:08] TheJH: ldblackfox, try "auto" from the async lib
[15:09] blueadept: ah yeah auto might be better
[15:09] TheJH: ldblackfox, that allows you to specify dependencies between the commands
[15:09] blueadept: from look at that code snippit
[15:09] ldblackfox: TheJH: OKay, i'll take a look :)
[15:09] ldblackfox: blueadept, TheJH: thx for help :)
[15:10] DrMcKay: does forever restart script when it changes?
[15:10] TheJH: ldblackfox, btw, node-based init looks cool, but you should keep in mind that node has some startup time
[15:11] DrMcKay: ldblackfox: you're writing node-based init :o ?
[15:11] DrMcKay: ldblackfox: that's awesome
[15:11] igl has joined the channel
[15:11] ldblackfox: The DrMcKay yes
[15:12] cha0s has joined the channel
[15:12] cha0s has joined the channel
[15:12] ldblackfox: TheJH: yes, but in comparison, we lost time for each command call in a bash script, like for "echo"
[15:12] DrMcKay: ldblackfox: make sure all libraries are accessible so that it can correctly run
[15:12] ldblackfox: cause we need te reinit the subprocess
[15:12] ldblackfox: DrMcKay: of course :)
[15:13] DrMcKay: ldblackfox: I would compile it statically to make sure
[15:13] TheJH: ldblackfox, if you also have node scripts for the init scripts, load them into your init process and run them in the same node instance, should be faster
[15:13] ryan0x2 has joined the channel
[15:14] Metal3d has joined the channel
[15:14] ldblackfox: TheJH: okay; for the moment i'll just try with the rc.sysinit script; including inside the equivalent of other bash scripts
[15:15] ldblackfox: which are needed
[15:15] DrMcKay: does forever reload files when they change?
[15:16] DrMcKay: or was it some other module?
[15:16] blueadept: yes
[15:16] antono has joined the channel
[15:16] DrMcKay: blueadept: thanks
[15:16] blueadept: actually, hold on. i think when the code actually changes no
[15:17] level09 has joined the channel
[15:17] blueadept: but if you're messing with jade templates or css, yes
[15:17] ldblackfox: DrMcKay: is there a folder for node libraries accessible from both users?
[15:17] dmkbot has joined the channel
[15:17] dmkbot: *http.response.statusMessage missing* reported by auduny: https://github.com/joyent/node/issues/1564
[15:17] dmkbot: *Fix a stack buffer overflow in ChildProcess custom_fd handling.* reported by deanm: https://github.com/joyent/node/issues/1563
[15:17] dmkbot: *Upgrade to 0.9.8r.* reported by DrPizza: https://github.com/joyent/node/issues/1562
[15:17] dmkbot: *Date() object doesn't know the locale* reported by nickevans: https://github.com/joyent/node/issues/966
[15:17] dmkbot: *Unhandled 'error' event* reported by th3hamm0r: https://github.com/joyent/node/issues/679
[15:17] DrMcKay: ldblackfox: both users?
[15:18] DrMcKay: !ping
[15:18] dmkbot: DrMcKay, pong
[15:18] ldblackfox: DrMcKay: like /usr/local/node_libraries instead of ~/.node_libraries
[15:19] DrMcKay: ldblackfox: you mean, global installation? yes, /usr/local/node_libraries
[15:19] DrMcKay: or /usr/node_libraries, depending on prefix you chosen
[15:20] ldblackfox: DrMcKay: we must create this folder, no?
[15:20] ldblackfox: cause he doesn't exist
[15:20] xandrews has joined the channel
[15:20] DrMcKay: ldblackfox: I would be very cautious with using it from init
[15:21] Metal3d has joined the channel
[15:21] ldblackfox: DrMcKay: How would you do else?
[15:21] DrMcKay: ldblackfox: /usr can be mounted from partition you have no access to during init
[15:22] DrMcKay: ldblackfox: I would place it in /lib/node_modules
[15:22] ldblackfox: mmm... yes that's true
[15:22] ldblackfox: DrMcKay: i'll try like this
[15:22] DrMcKay: ldblackfox: wait!
[15:23] DrMcKay: it's not /usr/node_libraries, it's /usr/lib/node_libraries
[15:23] DrMcKay: I forgot lib thing
[15:23] maushu_ has joined the channel
[15:23] DrMcKay: ldblackfox: it may be enough to configure node with prefix=/
[15:23] apanda has joined the channel
[15:24] ryanfitz has joined the channel
[15:25] ldblackfox: DrMcKay: no stress; I'll put the script in /lib/node_modules
[15:25] ldblackfox: s/script/module
[15:25] DrMcKay: ldblackfox: yes, that should be OK. do you have a working prototype?
[15:26] ldblackfox: DrMcKay: not for the moment
[15:26] DrMcKay: oh, OK. let me know if I can contribute somehow.
[15:27] ldblackfox: DrMcKay: okay. When i'll have a working copy, i'll push it on bitbucket
[15:27] DrMcKay: ldblackfox: ok, that would be cool
[15:27] heythisisdave has joined the channel
[15:27] gnuwilliam_ has joined the channel
[15:28] DrMcKay: btw, I think it's first so low level project in node
[15:29] nibblebot has joined the channel
[15:32] ldblackfox: DrMcKay: which method did you tell I can use with async?
[15:33] __main__ has joined the channel
[15:33] DrMcKay: ldblackfox: I did?
[15:33] ldblackfox: perhaps it wasn't you
[15:33] DrMcKay: TheJH did, I think, he mentioned auto
[15:33] TheJH: YES, EXACTLY
[15:33] TheJH: oops
[15:33] TheJH: caps lock
[15:33] TheJH: sorry
[15:33] MikhX has joined the channel
[15:34] guillermo has joined the channel
[15:34] MikhX has left the channel
[15:34] TheJH: I need to preserve caps lock for ranting about defate as soon as I understand it
[15:34] TheJH: meh
[15:34] TheJH: *deflate
[15:35] DrMcKay: TheJH: :D
[15:35] whitman has joined the channel
[15:36] pizthewiz has joined the channel
[15:36] TheJH: DrMcKay, "xxx" gets encoded with static huffman. the second and third x look like they get encoded as "10101000", just like the spec says. but the first one is only 5 bits long...
[15:36] DrMcKay: TheJH: how come?
[15:36] TheJH: and the padding is one byte longer than it should need to be...
[15:36] TheJH: DrMcKay, I don't fully understand it yet
[15:38] DrMcKay: TheJH: you're writing it yourself, right?
[15:38] TheJH: DrMcKay, I'm trying to reimplement deflate
[15:40] DrMcKay: TheJH: that's what I meant. It should give you good understanding on what's going on in deflate.
[15:40] TheJH: yes
[15:41] raoul has joined the channel
[15:41] DrMcKay: !ping
[15:41] dmkbot: DrMcKay, pong
[15:41] DrMcKay: then how come forever doesn't see you, stupid bot?
[15:43] robi42 has joined the channel
[15:44] dmkbot has joined the channel
[15:44] dmkbot: *http.response.statusMessage missing* reported by auduny: https://github.com/joyent/node/issues/1564
[15:44] dmkbot: *Fix a stack buffer overflow in ChildProcess custom_fd handling.* reported by deanm: https://github.com/joyent/node/issues/1563
[15:44] dmkbot: *Upgrade to 0.9.8r.* reported by DrPizza: https://github.com/joyent/node/issues/1562
[15:44] dmkbot: *Date() object doesn't know the locale* reported by nickevans: https://github.com/joyent/node/issues/966
[15:44] dmkbot: *Unhandled 'error' event* reported by th3hamm0r: https://github.com/joyent/node/issues/679
[15:44] DrMcKay: oh, lol
[15:44] DrMcKay: forever restarts it but doesn't see it
[15:44] rfay has joined the channel
[15:45] DrMcKay: and I can't kill it because forever can't see it, so it'll restart it
[15:45] DrMcKay: so I have to kill forever
[15:46] dmkbot has joined the channel
[15:46] dmkbot: *http.response.statusMessage missing* reported by auduny: https://github.com/joyent/node/issues/1564
[15:46] dmkbot: *Fix a stack buffer overflow in ChildProcess custom_fd handling.* reported by deanm: https://github.com/joyent/node/issues/1563
[15:46] dmkbot: *Upgrade to 0.9.8r.* reported by DrPizza: https://github.com/joyent/node/issues/1562
[15:46] dmkbot: *Date() object doesn't know the locale* reported by nickevans: https://github.com/joyent/node/issues/966
[15:46] dmkbot: *Unhandled 'error' event* reported by th3hamm0r: https://github.com/joyent/node/issues/679
[15:46] DrMcKay: how is it even possible?
[15:46] eazyigz has joined the channel
[15:46] DrMcKay: anyone here experienced with forever?
[15:47] eazyigz: Hello, are 'var' identifiers important for variables in node.js?
[15:47] DrMcKay: eazyigz: for code readibility
[15:48] DrMcKay: .. a = 5
[15:48] catb0t: 5
[15:48] DrMcKay: .. var a = 5
[15:48] catb0t: undefined
[15:48] DrMcKay: ah, yes, second one doesn't return
[15:48] DrMcKay: eazyigz: esentially, you should use var to let people know where you initialize your variable
[15:49] DrMcKay: eazyigz: but it's matter of coding style
[15:49] eazyigz: DrMcKay: i know that on the client side it matters, right? But in Node it doesn't...
[15:49] DrMcKay: eazyigz: it does?
[15:50] eazyigz: DrMcKay: to avoid conflicts with globals
[15:50] DrMcKay: eazyigz: oh, yes, in node it's important as well
[15:51] DrMcKay: I mean, when you declare it with var, it shadows global variable with the same name
[15:51] jamesp has joined the channel
[15:52] mike5w3c_ has joined the channel
[15:52] altamic has joined the channel
[15:52] eazyigz: ok. I'm thinking in terms of coffeescript, that it doesn't need var at all.
[15:52] hlindset has joined the channel
[15:55] jerrysv has joined the channel
[15:56] mikl has joined the channel
[15:56] mikl has joined the channel
[15:56] misterm has joined the channel
[15:57] openpercept has joined the channel
[15:58] unlink has joined the channel
[15:58] unlink has joined the channel
[15:58] zastaph: nave vs nvm, what to choose?
[15:59] zastaph: ill try nvm, has more followers
[15:59] eazyigz_ has joined the channel
[15:59] mcluskydodallas has joined the channel
[16:01] eazyigz_ has left the channel
[16:01] MarkMenard has joined the channel
[16:01] theCole has joined the channel
[16:02] DrMcKay1 has joined the channel
[16:02] zastaph: now I forgot why I needed a version manager :)
[16:02] TheJH: meeeh, wtf? either my gzip implementation is wrong or deflate is completely weird
[16:02] zastaph: npm partly does what a virtualenv does for python already
[16:03] TheJH: more than one block for encoding 3 bytes? can't be
[16:03] zastaph: ah right, it was because some npm's are not compatible with some node versions
[16:03] zastaph: so I figured it would be convenient with different ndoe versions installed
[16:03] ajashton has joined the channel
[16:04] materialdesigner has joined the channel
[16:04] thinkt4nk has joined the channel
[16:05] zastaph: but i fear that I'll just add an extra complication layer by using nvm
[16:05] replore_ has joined the channel
[16:05] replore has joined the channel
[16:06] xerox: it's very easy to change node version anyway
[16:06] TheJH: meeeh, my gzip implementation is correct! manually verified it. so wtf is gzip doing?
[16:06] losing has joined the channel
[16:06] Cromulent has joined the channel
[16:06] TheJH: uhm, I mean what's deflate doing?
[16:06] fairwinds has joined the channel
[16:07] DrMcKay: TheJH: tries to piss you off?
[16:07] TheJH: DrMcKay, I'm going to ask for help in ##unix now.
[16:07] zastaph: xerox, how? on debian I have to build from source, takes forever
[16:07] DrMcKay: TheJH: true
[16:07] xerox: zastaph: https://github.com/joyent/node/wiki/Installation
[16:08] DrMcKay: zastaph: with ccache it's really fast
[16:08] xerox: zastaph: every time "$HOME/local/node" appears, I instead use $NODE, and at the top I have export NODE=$HOME/.node
[16:08] zastaph: xerox, thats the guide i used the last time
[16:08] xerox: zastaph: to switch to the unstable version, export NODE=$HOME/.node-unstable
[16:09] necrodearia has joined the channel
[16:09] zastaph: xerox, ok what's wrong with /local/node for installation?
[16:10] xerox: did I say it was wrong?
[16:10] zastaph: you said that you change it to .node, but not why
[16:10] hij1nx has joined the channel
[16:10] xerox: it's the first thing I said
[16:10] xerox: it's very easy to change node version anyway
[16:11] zastaph: ah ok, to change.. i thought you meant reinstall
[16:11] ryanfitz_ has joined the channel
[16:11] xerox: why would you get the unstable version if you are not going to recompile it every once in a while
[16:12] necrodearia has joined the channel
[16:12] zastaph: i followed that guide before and ended up with the unstable version, without knowing it was unstable.. i just thought it was latest
[16:12] xerox: you did something wrong
[16:12] xerox: because that process gets the stable
[16:12] xerox: in particular, the line: git checkout v0.4.11 # optional. Note that master is unstable.
[16:13] zastaph: i presume npm uninstall -g ... npm uninstall npm -g ... make uninstall is all I need to uninstall everything and try again
[16:13] xerox: that's another pro of using $HOME/.node
[16:13] xerox: rm -rf ~/.node
[16:13] xerox: done :)
[16:13] DrMcKay: xerox: :)
[16:14] DoNaLd`: sudo rm -rf /
[16:14] DoNaLd`: :)
[16:14] DrMcKay: I think I will build a perl script to automatize it
[16:14] DrMcKay: DoNaLd`: won't work
[16:14] DrMcKay: sudo rm -rf --no-preserve-root /
[16:14] zastaph: doesnt rm -rf ~/local/node do something similar
[16:14] xerox: DrMcKay: that's what those nvm etc do :P
[16:14] jamesp has joined the channel
[16:15] DoNaLd`: DrMcKay: :)
[16:15] DrMcKay: xerox: whatever, I want to remind myself a bit of perl
[16:15] xerox: eww
[16:16] dmkbot has joined the channel
[16:16] dmkbot: *http.response.statusMessage missing* reported by auduny: https://github.com/joyent/node/issues/1564
[16:16] dmkbot: *Fix a stack buffer overflow in ChildProcess custom_fd handling.* reported by deanm: https://github.com/joyent/node/issues/1563
[16:16] dmkbot: *Upgrade to 0.9.8r.* reported by DrPizza: https://github.com/joyent/node/issues/1562
[16:16] dmkbot: *Date() object doesn't know the locale* reported by nickevans: https://github.com/joyent/node/issues/966
[16:16] dmkbot: *Unhandled 'error' event* reported by th3hamm0r: https://github.com/joyent/node/issues/679
[16:16] DrMcKay: (sorry for that)
[16:16] zastaph: xerox: http://stackoverflow.com/questions/5650169/uninstall-node-js-using-linux-command-line
[16:16] zastaph: xeros: seems node touched a few other places
[16:16] DrMcKay: and forever still states that he's got no process running
[16:17] ajashton has left the channel
[16:17] kmwallio has joined the channel
[16:19] andrewvos has joined the channel
[16:20] raoul has joined the channel
[16:20] ian-london has joined the channel
[16:25] dob_ has joined the channel
[16:25] antono has joined the channel
[16:27] markwubben has joined the channel
[16:27] pr2012 has joined the channel
[16:28] pr2012: anyone know how to grab the host/port from a clientRequest obj?
[16:29] DrMcKay has joined the channel
[16:30] DennisRasmussen has joined the channel
[16:32] DrMcKay: oh. online shop set me back my forgotten password.
[16:32] DrMcKay: in plaintext, exactly the one I've set.
[16:32] xerox: you mean ClientResponse pr2012
[16:33] TheJH: DrMcKay, :D
[16:33] xerox: uhm.
[16:33] pr2012: the on connect error, I thought was thrown by clientRequest?
[16:33] DrMcKay: TheJH: guess what it's written in.
[16:33] TheJH: DrMcKay, php or perl?
[16:33] xerox: pr2012: http://nodejs.org/docs/v0.4.10/api/http.html#request.connection
[16:33] DrMcKay: php, of course
[16:34] TheJH: Awww! OMG! From the deflate rfc: "Data elements are packed into bytes in order of increasing bit number within the byte, i.e., starting with the least-significant bit of the byte."
[16:34] DrMcKay: TheJH: my head is full of fuck now.
[16:35] TheJH: that means I have to flip all the bytes around in order to get something useful in a binary-data-viewer
[16:35] TheJH: GAH!
[16:35] soapyillusions has joined the channel
[16:35] TheJH: who'd do such a thing?
[16:35] TheJH: seriously!
[16:35] DrMcKay: oh. and at least they could write about it no some human language or something
[16:36] DrMcKay: oh! I was able to parse that RFC fragment correctly!
[16:36] DrMcKay: I feel so smart now.
[16:36] TheJH: wait. "Data elements other than Huffman codes are packed starting with the least-significant bit of the data element."
[16:37] DrMcKay: :D
[16:37] TheJH: that's a DOUBLE-FLIP, but at different offsets, so it doesn't equal out
[16:37] TheJH: FLIP, MOVE, FLIP
[16:37] TheJH: GAAAH!
[16:37] TheJH: I feel like I have to go into ##crypto now for help with gzip. *sigh*
[16:38] rfay has joined the channel
[16:38] DrMcKay: TheJH: they would have to decrypt RFC first
[16:38] TheJH: ok, so basically, I have to flip both the bits of the data in the code tables in the rfc and my input bytes
[16:38] TheJH: meh
[16:38] TheJH: seriously, someone had too much time for inventing crappy stuff
[16:39] DrMcKay: TheJH: do you still find it interesting ;> ?
[16:39] aho: i'd just use zlib, really
[16:39] indutny: aaaaaah
[16:40] indutny: this is going to be very very interesting! https://github.com/joyent/node/commit/13b853e07d0f6a2d5967d366b8723fa4c6e6c235
[16:40] indutny: ryah++
[16:40] catb0t: ryah now has 1 beer
[16:40] TheJH: DrMcKay, in some weird way, yes
[16:40] v8bot_: indutny has given a beer to ryah. ryah now has 1 beers.
[16:40] aho: there are probably 500 copies of zlib on my machine :>
[16:40] rgl has joined the channel
[16:40] TheJH: uh? openssl from chrome? what did node use for ssl before that monstercommit?
[16:41] indutny: ryah: that's most important commit for last few months (for me)
[16:41] aho: it's in every browser, image viewer, game, emulator, ftp client, whatever
[16:41] ian-london has left the channel
[16:41] TheJH: meh, my browser hangs
[16:41] indutny: TheJH: openssl shared lib
[16:41] indutny: TheJH: and chrome is using new version of openssl
[16:41] TheJH: indutny, what about windows or nodejs hosters?
[16:41] indutny: TheJH: with blackjack and NPN
[16:41] indutny: TheJH: I think chrome compiles on windows
[16:42] heavysixer has joined the channel
[16:42] indutny: TheJH: Anyway having openssl bundled into node's source is very cool for hosting too
[16:42] TheJH: indutny, oops, sorry, that question wasn't to you
[16:42] indutny: less lib deps
[16:42] indutny: ah ok
[16:42] TheJH: aho, what about windows or nodejs hosters?
[16:44] smus has joined the channel
[16:45] aho: https://github.com/waveto/node-compress
[16:45] aho: heh
[16:45] brianseeders has joined the channel
[16:45] aho: so... you didn't google around first, i take it :>
[16:46] TheJH: aho, I know that it exists
[16:46] aho: zlib exists on windows, too
[16:46] TheJH: aho, ah, ok. but still, node hosting
[16:46] TheJH: and anyway, it's cool
[16:46] TheJH: :D
[16:47] torsd has joined the channel
[16:47] aho: dunno how node hosting works in detail, but i don't see a reason why zlib shouldn't work there too
[16:48] aho: i mean there are some npm module thingies which require native libs, right?
[16:48] gazumps has joined the channel
[16:49] mikeal has joined the channel
[16:50] TheJH: aho, yes, e.g. nodejitsu told me "native stuff is ok, but you have to include the c libraries in your package"...
[16:50] DrMcKay: TheJH: I think it's about compiling the stuff
[16:50] TheJH: aho, so I'd either need an npm package with that included or I'd have to fiddle around in node_modules
[16:51] TheJH: DrMcKay, no, they explicitely allow compiling
[16:51] DrMcKay: many hostings don't allow compiler access
[16:51] TheJH: DrMcKay, they do, the devs told me in #nodejitsu
[16:51] DrMcKay: that stopped me from rooting one server once :<
[16:51] sivy has joined the channel
[16:52] DrMcKay: TheJH: so what was the problem?
[16:53] raoul has joined the channel
[16:53] TheJH: DrMcKay, I can't use libraries outside of my own folder for naticve stuff. I'd have to put the whole zlib source code in node-compress
[16:53] TheJH: *native
[16:54] harthur has joined the channel
[16:56] DrMcKay: TheJH: OK, I get it
[16:58] Yuffster has joined the channel
[17:00] felixhummel has joined the channel
[17:00] DrMcKay: I'm afraid github issues bot won't work until Monday :(
[17:00] level09_ has joined the channel
[17:00] DrMcKay: s/work/work without 5 hours delay/
[17:01] DrMcKay: or I could hardcode those 5 hourse
[17:01] DrMcKay: *hours
[17:01] dexter_e has joined the channel
[17:03] butu5 has joined the channel
[17:03] TheJH: DrMcKay, could you request 24h more than you need and only display ones with id > lastSeenId?
[17:03] DrMcKay: TheJH: yeah, I could
[17:04] DrMcKay: but well, it *should* work OOTB
[17:04] TheJH: DrMcKay, that way, it doesn't blow up when they correct it :D
[17:04] DrMcKay: yeah, I probably will do something like that
[17:05] losing has joined the channel
[17:05] DrMcKay: TheJH: it won't blow up with those 5 hours hardcoded as well (I hope)
[17:05] DrMcKay: TheJH: but yes, your one is better
[17:06] DrMcKay: fix-github-being-an-idiot is a good name for a branch?
[17:06] Juan77 has joined the channel
[17:06] TheJH: DrMcKay, heh
[17:07] TheJH: DrMcKay, not for a branch on github :D
[17:07] freeformz has joined the channel
[17:07] DrMcKay: TheJH: :D. I won't push it, I consider this kind of fix as nasty
[17:08] TheJH: DrMcKay, then it's a perfectly legit name :D
[17:08] clifton has joined the channel
[17:10] TheJH: yaaay, successfully decoded a static-huffman-encoded gzip file by hand :D
[17:10] DrMcKay: TheJH: like a real men :D
[17:10] TheJH: (but that's a very simple case)
[17:10] kmiyashiro has joined the channel
[17:10] TheJH: DrMcKay, :D
[17:13] Faizy has joined the channel
[17:15] jheusala: is there module like socket.io but for multiple node processes?
[17:16] TheJH: jheusala, like hook.io?
[17:16] jheusala: that it was
[17:17] jheusala: I didn't remember the name
[17:18] blueadept: anyone here ever built a video-on-demand system?
[17:20] d0k has joined the channel
[17:22] narayan82 has joined the channel
[17:23] uchuff has joined the channel
[17:24] admc has joined the channel
[17:25] butu5: Hello, I am using socket.io for emiting msg to client. I am able to post 2 times.. there after not able to post
[17:25] butu5: https://github.com/butu5/node-irc4mobile/blob/master/index.js
[17:25] butu5: any body has some idea?
[17:28] Fabryz: shouldn't there be a new on io.connect, clientside
[17:29] butu5: https://github.com/butu5/node-irc4mobile/blob/master/public/js/client.js
[17:29] butu5: this is client code.. I am connecting and listening to msg event
[17:31] Cromulent has joined the channel
[17:32] alexdoom has joined the channel
[17:33] jheusala: hmm, hook.io doesn't look what I would need... I just need simple low level multi-process eventEmitter...
[17:33] Fabryz: was giving a look at the code, but I need to go dinner brb
[17:34] DrMcKay: TheJH: I got it working, though I had to increase interval
[17:34] jheusala: A client for io-sockets inside node.js might be what I want :-P
[17:34] jheusala: I mean socket.io
[17:34] jarek has joined the channel
[17:34] jarek has joined the channel
[17:34] butu5: Fabryz: regarding my code? thanks.. will catch u later
[17:35] int_64 has joined the channel
[17:35] butu5: jheusala: when I try this same code with ubuntu.. it is not asking for the client
[17:35] butu5: not sure why in mac always got module not found
[17:36] robotarmy has joined the channel
[17:36] jheusala: cool, there it is: https://github.com/saschagehlich/node-socket.io-client
[17:37] butu5: jheusala: ohh just now realised socket.io and socket.io-client are from two diffrent package
[17:37] hellp has joined the channel
[17:37] butu5: so probably will need to change my client code?
[17:39] DrMcKay: no, increasing interval is a dirty hack
[17:39] Faizy_ has joined the channel
[17:39] amerine has joined the channel
[17:40] jheusala: butu5: yes, they seem to be different projects but AFAIK the same protocol...
[17:41] level09 has joined the channel
[17:42] jheusala: AFAIK socket.io is just a server + client for browser and socket.io-client is the client for node.js
[17:42] chapel: jheusala: try dnode
[17:42] chapel: it is rpc
[17:43] chapel: and you can easily pass our event emitters
[17:45] dmkbot has joined the channel
[17:45] level09 has left the channel
[17:45] butu5 has joined the channel
[17:45] DrMcKay: ok, I've got the bot working even with this retarded github API
[17:46] TheJH: :D
[17:46] DrMcKay: (now let's hope someone finds some issue)
[17:46] DrMcKay: ACTION turns into doc nazi and goes to hunt for errors
[17:46] butu5: jheusala: sorry got disconnected
[17:46] jheusala: DrMcKay: cool. I have been thinking to fork your bot to use optionally icecap :-)
[17:46] DrMcKay: jheusala: do, I'll be very proud :)
[17:47] TheJH: and my bot is still running. even after I did "jitsu apps destroy nodebot" and it's gone from the apps list :D
[17:47] DrMcKay: TheJH: lol, so you've got no app running, but still can compute?
[17:47] jheusala: DrMcKay: hmm, what bot was it?
[17:47] DrMcKay: jheusala: dmkbot
[17:47] TheJH: DrMcKay, yup
[17:47] jmoyers has joined the channel
[17:47] DrMcKay: !npm search bot
[17:47] jhbot: packages (short format, truncated): htmlparser, hydra, ircat.js, nMemcached, rest-mongo, ircbot, logbot, qrcode, umecob, markov, coffeebot, scottbot, wobot, nymph, robotskirt, sasl, misao-chan, twbot, tutti, jerk
[17:47] jheusala: DrMcKay: ok, I recall it right then. That was the bot I was planning to fork. :-)
[17:48] DrMcKay: jheusala: :).
[17:48] DrMcKay: also, I won't push that crappy branch working with that crappy github, because code is crappy
[17:48] heythisisdave has joined the channel
[17:48] jheusala: I almost started to do that github plugin for it.
[17:48] butu5: DrMcKay: u faced any problem with github module?
[17:49] DrMcKay: butu5: yes, but it's GitHub's fault
[17:49] DrMcKay: they use local server time zone instead of UTC, as they state in docs
[17:49] DrMcKay: since parameter is garbled
[17:49] butu5: hmmmm
[17:50] DrMcKay: butu5: as TheJH suggested, I download T-24 hours and drop issues which were already reported
[17:50] bradleymeck has joined the channel
[17:51] DrMcKay: butu5: but I emailed them, so I guess everything should be fine on Monday
[17:51] butu5: I came just now so skipped some discussion ll check it
[17:51] Carter1 has left the channel
[17:52] butu5: hmmm only time zone issue or anything else?
[17:52] towski has joined the channel
[17:52] DrMcKay: butu5: yes
[17:52] DrMcKay: only time zone
[17:52] DrMcKay: (I hope)
[17:53] butu5: ok... :) any other idea for enhancement?
[17:54] DrMcKay: butu5: I don't know yet
[17:54] butu5: I m having some issue with socket.io and irc module
[17:55] DrMcKay: butu5: for that mobile IRC?
[17:55] butu5: yes.. actually this weekend I m bit bz . so not able to focus
[17:57] butu5: I simply wnt to push msg arrived from irc to client using socket.io
[17:57] openpercept has joined the channel
[17:58] DrMcKay: butu5: what doesn't work?
[17:58] systemfault has joined the channel
[17:59] butu5: able to emit msg two times.. after that no mag is going to client
[17:59] MarkMenard has joined the channel
[17:59] tk has joined the channel
[18:00] dob_ has joined the channel
[18:02] butu5: any thing fundamental wrong in the approach?
[18:02] smtlaissezfaire has joined the channel
[18:02] DrMcKay: butu5: source code?
[18:04] butu5: https://github.com/butu5/node-irc4mobile
[18:05] jhurliman has joined the channel
[18:07] DrMcKay: butu5: you should add node_modules to .gitignore
[18:07] mikeal has joined the channel
[18:07] MrNibbles: is there a unit testing application similar to js-test-driver written in node?
[18:08] MrNibbles: i like jsTestDriver but its javaishness is off-putting. Would quite like to extend it
[18:08] TheJH has joined the channel
[18:08] boaz has joined the channel
[18:08] DrMcKay: butu5: it would also be good to remove node_modules from history now
[18:08] DrMcKay: butu5: I'll check your code in few minutes
[18:08] butu5: sure ll do
[18:08] perezd has joined the channel
[18:08] TheJH has joined the channel
[18:08] joeytwiddle has joined the channel
[18:09] butu5: ok. thanks
[18:09] pr2012: is request.socket.setTimeout(5000); the right way to set time outs on a http request?
[18:09] jhbot has joined the channel
[18:11] guyvdb_ has joined the channel
[18:11] Nuck has joined the channel
[18:12] Nuck: ACTION yawns a good morning
[18:12] eoduibhir has joined the channel
[18:13] DrMcKay: Hi, Nuck
[18:13] guyvdb_: Is there a room for express.js? I am new to node / express and cannot get express.bodyParser() working... am I doing something obviously wrong? http://pastie.org/2402676
[18:13] Nuck: guyvdb_: #express
[18:14] guyvdb_: thx
[18:14] Nuck: np
[18:15] blueadept has joined the channel
[18:15] blueadept has joined the channel
[18:15] DrMcKay: butu5: oh, it's coffee script
[18:16] DrMcKay: btw, your thoughs on coffee script? worth learning?
[18:17] MrNibbles: DrMcKay: imo only if you already understand javascript
[18:17] AvianFlu: real javascript will serve you better in the long run
[18:18] DrMcKay: well, that syntax looks weird for me
[18:18] DrMcKay: this -> is more like Haskell than JS
[18:19] DrMcKay: rest of it looks like Ruby
[18:19] guyvdb_: what other node frameworks like express are worth looking at ?
[18:19] losing has joined the channel
[18:19] DrMcKay: AvianFlu, MrNibbles: thanks
[18:21] amasad has joined the channel
[18:24] ldblackfox has joined the channel
[18:26] TheJH: yay, I can live-monkeypatch my bots code now :D
[18:26] avalanche123 has joined the channel
[18:27] DrMcKay: TheJH: o.O?
[18:27] DrMcKay: TheJH: oh, never mind, I know
[18:27] AvianFlu: He's serious, it's medium gangster
[18:28] DrMcKay: TheJH: is he still running on nodejitsu?
[18:28] TheJH: DrMcKay, no, he's currently on my pc now, but i'll put it back on nodejitsu when I go to sleep
[18:28] misterm has joined the channel
[18:28] MooGoo: bring bot here
[18:29] simenbrekken has joined the channel
[18:29] DrMcKay: TheJH: OK. can you show how can you monkey-patch him?
[18:29] TheJH: MooGoo, mine?
[18:29] MooGoo: yes
[18:29] MooGoo: and to ##javascript
[18:29] TheJH: it's already here, jhbot
[18:29] MooGoo: these places need moar bots
[18:29] MooGoo: cool
[18:29] TheJH: one sec for a monkeypatch idea...
[18:29] MooGoo: .insult jhbot
[18:29] catb0t: jhbot wants a donkey punch
[18:29] TheJH: good idea
[18:30] smtlaissezfaire has joined the channel
[18:32] MooGoo: what do you mean monkeypatch anyways...
[18:32] MooGoo: reload plugins/modules without restart?
[18:32] TheJH: !admin eval irc.on("privmsg",function(args){if(args.params&&args.params[0]===".insult jhbot")reply(args, "hey, don't insult me!")})
[18:32] jhbot: [object Object]
[18:33] TheJH: MooGoo, now let that bot insult him again :D
[18:33] DrMcKay: MooGoo: change code while it runs, but it's not exact explanation
[18:33] DrMcKay: .insult jhbot
[18:33] catb0t: jhbot I WILL SLASH YOUR FACE
[18:33] TheJH: hmmm...
[18:33] DrMcKay: privmsg?
[18:33] jarek has left the channel
[18:34] TheJH: no, that should go to the channel...
[18:34] MooGoo: params[0] is the entire msg?
[18:34] MooGoo: or just the first word
[18:34] AvianFlu: irc.client.on(...) no?
[18:34] patcito has joined the channel
[18:34] TheJH: !admin eval reply(message, "test")
[18:34] jhbot: [object Object]
[18:34] jhbot: 1313865287135
[18:34] TheJH: huh?
[18:34] DrMcKay: oh well...
[18:34] AvianFlu: brb, need food before hax
[18:35] TheJH: !admin eval reply("test")
[18:35] jhbot: test
[18:35] jhbot: 1313865304616
[18:35] MooGoo: lol
[18:35] MooGoo: timestamp?
[18:35] TheJH: looks like it worked
[18:35] DrMcKay: btw, funny thing: you guys can ping my internal network with my bot
[18:35] MooGoo: .insult jhbot
[18:35] catb0t: jhbot is a robot man.
[18:35] DrMcKay: :D
[18:35] TheJH: !admin eval irc.on("privmsg",function(args){if(args.params&&args.params[0]===".insult jhbot")reply("hey, don't insult me!")})
[18:35] jhbot: [object Object]
[18:35] MooGoo: .insult jhbot
[18:35] catb0t: jhbot is a liberal
[18:35] TheJH: .insult jhbot
[18:35] catb0t: jhbot thinks The Simpsons is "as good as ever"
[18:36] MrNibbles: .insult catb0t
[18:36] catb0t: MrNibbles cowers in the corner
[18:36] DrMcKay: TheJH: should it be on privmsg?
[18:36] TheJH: DrMcKay, no
[18:36] MooGoo: yes
[18:36] MooGoo: er
[18:37] MooGoo: I would think so
[18:37] TheJH: !admin eval irc.on("privmsg",function(args){if(args.params&&args.params[1]===".insult jhbot")reply("hey, don't insult me!")})
[18:37] jhbot: [object Object]
[18:37] TheJH: .insult jhbot
[18:37] catb0t: jhbot is a member of the Bad Cheese Brigade
[18:37] jhbot: hey, don't insult me!
[18:37] TheJH: yaaaay :)
[18:37] DrMcKay: :)
[18:37] DrMcKay: now just make it pass Turing test
[18:37] MooGoo: like catb0t
[18:37] DrMcKay: :D
[18:37] MooGoo: uhm
[18:37] catb0t: like to have a real plugin system for kohai , you er, dou
[18:37] DrMcKay: catb0t, how are you?
[18:37] catb0t: how is asynchronism are
[18:37] TheJH: I also just manipulated its "you're not my admin" message for AvianFlu :D
[18:38] MooGoo: catb0t you're getting slow
[18:38] catb0t: getting the directory of the spaceship are not completed you're
[18:38] DrMcKay: TheJH: :D
[18:38] Sazpaimon has joined the channel
[18:38] MooGoo: should re-enable in-memory sqlite tables
[18:38] misterm: catb0t: you're in a desert. You see a tortoise on it's back trying to get upright, but you're not helping it.
[18:38] catb0t: tortoise on it's own
[18:38] DrMcKay: catb0t: you're an idiot
[18:38] catb0t: you're really cool to enable pull deployment idiot
[18:38] MooGoo: catb0t one day you'll pass the turing test
[18:38] catb0t: you'll figure it out, but it's somewhat better since ntended for turing
[18:38] DrMcKay: yeah, I think he would pass Turing test
[18:39] DrMcKay: does he answer my every message?
[18:39] misterm: catb0t: how dos that make you feel?
[18:39] catb0t: that 's not AI, i think it's a known issue and looks for the caller from doing anything at the OS by e make
[18:39] DrMcKay: btw, who wrote him?
[18:39] narayan82 has joined the channel
[18:39] MooGoo: who knows
[18:39] MooGoo: it's a mystery
[18:40] TheJH: and now I'll test the thing I added that "eval" command for...
[18:40] TheJH: !admin eval process.exit(1)
[18:40] TheJH: :)
[18:40] DrMcKay: TheJH: :D
[18:40] MooGoo: lol
[18:40] DrMcKay: I knew that
[18:40] TheJH: *restarting*
[18:40] jhbot has joined the channel
[18:40] MooGoo: I just run the bot with REPL
[18:40] seivan has joined the channel
[18:40] DrMcKay: btw, why don't we have a node bot?
[18:41] DrMcKay: I mean, we have v8 bots
[18:41] dmojoryder has joined the channel
[18:41] DrMcKay: but they don't come with node libraries
[18:41] MooGoo: catb0t what r u
[18:41] catb0t: what did i win this r
[18:41] TheJH: DrMcKay, what is a "node bot"? my bots internal name is "nodebot" - pretty close, don't you think?
[18:41] DrMcKay: (or is there such a bot?)
[18:41] DrMcKay: TheJH: mine also introduces himself as nodebot
[18:42] DrMcKay: but no, I mean:
[18:42] TheJH: !admin eval __dirname
[18:42] jhbot: /home/jann/gitty/nodebot
[18:42] DrMcKay: v8: require('crypto')
[18:42] v8bot_: DrMcKay: ReferenceError: require is not defined
[18:42] TheJH: nodebot :)
[18:42] DrMcKay: :D
[18:42] DrMcKay: mine has IRC user agent set to nodebot
[18:42] MooGoo: heh
[18:42] DrMcKay: .. require('fs')
[18:42] catb0t: ReferenceError: require is not defined
[18:42] DrMcKay: that's what I mean
[18:42] TheJH: DrMcKay, such a bot would be kinda exploitable, right?
[18:42] DrMcKay: I think I'll add it as a feature to my one
[18:42] MooGoo: well that would be a bit of a secuirty hole dont you think?
[18:42] zomgbie has joined the channel
[18:43] TheJH: *pssst*
[18:43] TheJH: don't tell DrMcKay!
[18:43] DrMcKay: TheJH: exploitable as hell
[18:43] DrMcKay: I guess I would have to monkey patch require
[18:43] DrMcKay: no, just load all safe libraries into it's scope
[18:43] MooGoo: what is safe
[18:44] TheJH: DrMcKay, lemme security test it when you're done :D
[18:44] DrMcKay: TheJH: sure :D
[18:44] TheJH: ACTION is good at finding security holes
[18:44] MooGoo: chrooted and run as nobody user
[18:44] MooGoo: might work
[18:44] DrMcKay: TheJH: pfff.
[18:44] DrMcKay: MooGoo: it already runs as one
[18:45] fyskij has joined the channel
[18:45] DrMcKay: security hole? in *my* code?!
[18:45] MooGoo: you write your code in ancient right?
[18:45] DrMcKay: even process is safe, forever can restart it
[18:45] DrMcKay: MooGoo: yes :D
[18:45] TheJH: DrMcKay, no, really. I already found the nullbyte thing that affects nearly all static file servers for node in one or another way and an important hole that could lead to staling information in a well-known module
[18:46] topaxi has joined the channel
[18:46] TheJH: *stealing
[18:46] TheJH: *brag*
[18:46] TheJH: *more brag*
[18:46] DrMcKay: TheJH: congratulations :)
[18:47] TheJH: me proud :)
[18:47] DrMcKay: this nullbyte thing in filename used to affect PHP
[18:47] DrMcKay: and I kinda liked it
[18:47] TheJH: DrMcKay, used to? I don't think that it's dead
[18:47] DrMcKay: TheJH: they fixed it :(
[18:48] TheJH: DrMcKay, oh, interesting. they disallow nullbytes now in php?
[18:48] DrMcKay: but, well, most servers run ancient PHP, sooo...
[18:48] TheJH: DrMcKay, :D
[18:48] TheJH: !issue search null byte ..
[18:48] jhbot: found issues: 2
[18:48] jhbot: Issue: #1176: Bug: http.request socket hang up problem
[18:48] jhbot: Issue: #1191: Fatal error in node/deps/v8/src/api.cc, line 2359
[18:48] TheJH: meh
[18:49] TheJH: my issue search is bad :(
[18:49] DrMcKay: a bit
[18:49] DrMcKay: what?!
[18:49] DrMcKay: I wanted to show you cool website I made, but freeze.it fucked up my JS :<
[18:49] TheJH: DrMcKay, https://github.com/joyent/node/pull/1493 - "fs: no nullbytes in paths"
[18:50] DrMcKay: TheJH: cool :)
[18:50] TheJH: DrMcKay, I don't think that php fixed it
[18:51] TheJH: DrMcKay, link?
[18:51] DrMcKay: yes, I'm looking for it
[18:51] DrMcKay: maybe hard to find, AFAIR it was a commit message
[18:51] DrMcKay: http://comments.gmane.org/gmane.comp.security.oss.general/3798
[18:52] TheJH: DrMcKay, neither the manual nor google say anything about a fix
[18:53] DrMcKay: TheJH: ^ ^
[18:54] TheJH: DrMcKay, wow, that's interesting. even PHP patched it...
[18:55] hybsch has joined the channel
[18:57] ceej has joined the channel
[18:57] DrMcKay: TheJH: :(
[18:57] TheJH: DrMcKay, ?
[18:57] DrMcKay: that's sad
[18:57] DrMcKay: it was so cool to exploit!
[18:57] TheJH: :D
[19:00] TheJH: DrMcKay, hmm... combine "NULL byte poisoning fix in php 5.3.4+" with "php5 (5.3.3-7+squeeze3)" http://packages.debian.org/squeeze/php5 ...
[19:00] kepheus has joined the channel
[19:01] vidi has joined the channel
[19:02] dmkbot has joined the channel
[19:02] DrMcKay: TheJH: yes :)
[19:03] DrMcKay: TheJH: nobody bothers to compile their servers from source these days, sooo.
[19:03] DrMcKay: but Fedora has 5.3.6
[19:04] stisti has joined the channel
[19:04] TheJH: ACTION uses Fedora
[19:04] xerox: ACTION wears a Fedora
[19:04] DrMcKay: TheJH: brofist!
[19:04] TheJH: :D
[19:05] DrMcKay: xerox: Notch, is that you?
[19:08] mikeal1 has joined the channel
[19:09] gkmngrgn has joined the channel
[19:09] boaz has joined the channel
[19:10] saikat has joined the channel
[19:12] Faizy has joined the channel
[19:13] achiu has joined the channel
[19:14] TheJH: DrMcKay, will you also make buffers available?
[19:14] TheJH: *making evil attack plans*
[19:14] quackquack has joined the channel
[19:14] quackquack: how can i create a module that can be required by nodejs or loaded in the browser?
[19:14] cccaldas has joined the channel
[19:14] DrMcKay: TheJH: I sense evil...
[19:14] TheJH: DrMcKay, just answer :D
[19:15] DrMcKay: TheJH: I will, let's see what you can do with them :D
[19:15] TheJH: mmmh, great!
[19:15] agnat has joined the channel
[19:15] brmouzone has joined the channel
[19:15] kmiyashiro has joined the channel
[19:16] sveisvei has joined the channel
[19:16] heavysixer has joined the channel
[19:16] TheJH: DrMcKay, when will it be ready?
[19:16] TheJH: ACTION is impatient
[19:16] DrMcKay: TheJH: tomorrow maybe? most likely Monday
[19:16] TheJH: noooow!!! :D
[19:17] JKarsrud has joined the channel
[19:17] DrMcKay: TheJH: don't make me to, or I will disable half of standard library ;>
[19:17] TheJH: :D
[19:20] DrMcKay: TheJH: I think I'll make it run as a separate process with some supervisor :D
[19:21] TheJH: DrMcKay, :D
[19:23] hij1nx has joined the channel
[19:25] bradleymeck has joined the channel
[19:26] DrMcKay: now, how the hell do I get memory usage for a process which is not my child?
[19:26] DrMcKay: I know, proc
[19:26] DrMcKay: but no, not proc, POSIX
[19:26] ronnieboy has joined the channel
[19:27] mcluskyd_ has joined the channel
[19:27] smtlaissezfaire has joined the channel
[19:28] dob_: I am new to node and created a simple application with express, jade and mongoose. Now i want to create a search function with autocomplete textfield. I did not find anything like that on the web. Short as i think i would solve this: socket.io connect from client to node.js. jquery autocomplete connects to socket.io. Socket.io -> mongodb.find for every new character?!
[19:28] xastey has joined the channel
[19:28] xastey: is there a post limit with the http lib?
[19:28] xastey: post size limit i mean
[19:29] rabidmachine9 has joined the channel
[19:30] rabidmachine9: hello
[19:30] bradleymeck: depends on if you are streaming or buffered, if buffered its going to be w/e pushes v8 past 1gb (though buffers are not on v8's heap)
[19:30] bradleymeck: xastey^
[19:30] rabidmachine9: everytime I use console log I get this output: 127.0.0.1 - - [Sat, 20 Aug 2011 19:27:14 GMT] "POST /blog_edit HTTP/1.1" 200 1408 "http://localhost:8080/blog_edit" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_5_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1"
[19:30] rabidmachine9: 127.0.0.1 - - [Sat, 20 Aug 2011 19:27:14 GMT] "GET /css/edit_blog.css HTTP/1.1" 304 - "http://localhost:8080/blog_edit" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_5_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1"
[19:30] rabidmachine9: 127.0.0.1 - - [Sat, 20 Aug 2011 19:27:14 GMT] "GET /js/yahoo-config.js HTTP/1.1" 304 - "http://localhost:8080/blog_edit" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_5_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1"
[19:30] rabidmachine9: 127.0.0.1 - - [Sat, 20 Aug 2011 19:27:15 GMT] "GET /favicon.ico HTTP/1.1" 404 - "" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_5_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1"
[19:30] xastey: ok so thats not my problem
[19:30] rabidmachine9: 127.0.0.1 - - [Sat, 20 Aug 2011 19:27:15 GMT] "GET /favicon.ico HTTP/1.1" 404 - "" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_5_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1"
[19:30] guillermo has joined the channel
[19:30] xastey: flood alert
[19:30] rabidmachine9:
[19:30] xastey: BAN!!
[19:31] tmpvar has joined the channel
[19:31] bradleymeck: dob_ sounds about right for standard autocomplete, you should push down multicharacter Tries if possible
[19:31] eazyigz has joined the channel
[19:32] rabidmachine9: can somebody explain what is it?
[19:32] notmynick: its a log of the ip address and agent pinging a http server
[19:33] dob_: bradleymeck: Alright, i think i will try that, hoped somebody did that before.
[19:33] rabidmachine9: is it normal?
[19:34] notmynick: ping baudehlo
[19:35] zemanel has joined the channel
[19:36] bentkus: http://paste.ubuntu.com/671226/
[19:36] bentkus: someone with experience in jade?
[19:36] bentkus: why doesnt this work as I expect it to work!?
[19:36] bentkus: ;D
[19:36] notmynick: rabidmachine9 not unless its been overriden by soemthing / you engaged some debug mode in a library
[19:39] CIA-65: node: 03Peter Bright 07gyp-openssl * r600f1c2 10/ (113 files in 40 dirs):
[19:39] CIA-65: node: Upgrade to 0.9.8r.
[19:39] CIA-65: node: Build in Win32. - http://git.io/A9vtIA
[19:39] asabil has joined the channel
[19:40] CIA-65: node: 03Peter Bright 07gyp-openssl * r600f1c2 10/ (113 files in 40 dirs):
[19:40] CIA-65: node: Upgrade to 0.9.8r.
[19:40] CIA-65: node: Build in Win32. - http://git.io/A9vtIA
[19:40] CIA-65: node: 03Ryan Dahl 07master * rf5db3f1 10/ (2 files in 2 dirs): Fix #1563. overflow in ChildProcess custom_fd. - http://git.io/7j4CgQ
[19:41] kenperkins has joined the channel
[19:41] rabidmachine9: strange...
[19:41] kenperkins: is there a way to get the calling function name in node
[19:44] CIA-65: node: 03Ryan Dahl 07v0.4 * rce9caa2 10/ (2 files in 2 dirs):
[19:44] CIA-65: node: Fix #1563. overflow in ChildProcess custom_fd.
[19:44] CIA-65: node: Backported from master f5db3f1f859427d2b1252f937a45409c5d4eb38b - http://git.io/2Z7CYQ
[19:44] ldblackfox has joined the channel
[19:44] ldblackfox: DrMcKay: ping
[19:45] edude03 has joined the channel
[19:45] TheEmpath has joined the channel
[19:45] ldblackfox: DrMcKay: i've just tried booting using the script, it really rocks :)
[19:45] DrMcKay: ldblackfox: pong, but I'm kinda busy, would you mind waiting 30 minutes or so?
[19:45] ldblackfox: DrMcKay: okay
[19:45] DrMcKay: ldblackfox: oh, that's awesome! :)
[19:45] DrMcKay: but really sorry, brb
[19:46] ldblackfox: DrMcKay: no problem
[19:47] notmynick: kenperkins you should be using named functions, the only way that does allow getting the calling function w/o a reference breaks inside strict mode invocation
[19:47] Peniar: /join #express
[19:47] kenperkins: I'musing named functions
[19:47] kenperkins: I was trying to write a generic logger that included the calling function in the log, and I wasn't sure how to get it
[19:48] notmynick: v8's stacktrace api
[19:48] notmynick: you can just list the fn one frame up
[19:48] kenperkins: awesome
[19:48] kenperkins: ty
[19:48] eazyigz_ has joined the channel
[19:49] eazyigz has joined the channel
[19:51] sstreza has joined the channel
[19:52] catb0t has joined the channel
[19:52] mokane has joined the channel
[19:53] martypdx has joined the channel
[19:55] JJMalina has joined the channel
[19:55] pizthewiz_ has joined the channel
[19:56] dgathright has joined the channel
[19:59] idefine has joined the channel
[20:01] rfay has joined the channel
[20:01] catb0t has joined the channel
[20:02] philip__ has joined the channel
[20:03] hybsch has left the channel
[20:04] philip__ has joined the channel
[20:05] bluesmoon has joined the channel
[20:05] catb0t has joined the channel
[20:05] vns has joined the channel
[20:07] bluesmoon: does anyone know why the signature for Buffer.readUInt32 and Buffer.writeUInt32 has been changing so frequently? It changed from 0.5.3 to 0.5.4 and has been dropped in 0.5.5-pre
[20:08] DrMcKay: ldblackfox: ping?
[20:09] tylerstalder has joined the channel
[20:10] ryah: bluesmoon: unstable apis are unstable
[20:10] kenperkins: this just in, water wet, microsoft bad ;)
[20:10] bluesmoon: so is the entire 0.5 tree unstable or is it just what's in git?
[20:11] DrMcKay: bluesmoon: entire 0.5
[20:11] bluesmoon: ok. my bad.
[20:11] FearOfMusic has joined the channel
[20:11] kenperkins: bluesmoon: http://www.clipboard.com/clip/LR3be2NvAllnRLWU
[20:12] DrMcKay: bluesmoon: odd numbers are unstable
[20:12] kenperkins: btw, clipboard.com is running on node (stable of course)
[20:13] bluesmoon: kenperkins, I assumed the unstable referred only to 0.5.4
[20:13] kenperkins: i see, usually, anything > stable v # can be assumed to be unstable
[20:13] loob2 has joined the channel
[20:14] bluesmoon: ok, got it
[20:14] ryah: also dont use git :)
[20:14] ryah: that's where dev happens
[20:15] AvianFlu: s/dev/the magic/g
[20:16] DrMcKay: did ryah forbid us to use git?
[20:16] mcluskydodallas has joined the channel
[20:16] DrMcKay: oh gosh, where did I put my svn?
[20:17] bluesmoon: ryah, no, I don't use the git version in production, only on my dev box to see if something broken in 0.5.x was fixed there
[20:17] bluesmoon: DrMcKay, your svn is checked into your cvs
[20:17] DrMcKay: bluesmoon: vception?
[20:18] AvianFlu: which in turn was put on 5 1/4 floppies and put into a filing cabinet
[20:18] AvianFlu: TIMECEPTION
[20:18] DrMcKay: then backuped on tapes, of course
[20:18] pdelgallego has joined the channel
[20:18] stisti has joined the channel
[20:18] AvianFlu: nevermind punchcards
[20:18] Yuffster_work has joined the channel
[20:19] DrMcKay: brb, my ENIAC doesn't respond to pings
[20:19] mcluskydodallas has joined the channel
[20:19] ldblackfox has joined the channel
[20:20] zomgbie has joined the channel
[20:20] mcluskydodallas has joined the channel
[20:23] mcluskydodallas has joined the channel
[20:23] raoul has joined the channel
[20:28] eazyigz has joined the channel
[20:31] smtlaissezfaire has joined the channel
[20:32] liquidproof has joined the channel
[20:34] markwubben has joined the channel
[20:35] felixhummel has left the channel
[20:35] felixhummel has joined the channel
[20:35] dguttman has joined the channel
[20:36] MUILTFN has joined the channel
[20:38] antono has joined the channel
[20:39] akshatj has joined the channel
[20:40] Jonathan_Dum has joined the channel
[20:41] Jonathan_Dum has left the channel
[20:41] Jonathan_Dum has joined the channel
[20:42] Wa has joined the channel
[20:42] ldblackfox: okay guys, a first test version for interested people: https://bitbucket.org/lordblackfox/init.node/overview
[20:42] Jonathan_Dum: Is there a prettier version of the api docs? I saw a picture of the docs with a nice frame and collapsible methods
[20:43] DrMcKay has joined the channel
[20:43] DrMcKay: ldblackfox: ping
[20:44] ldblackfox: DrMcKay: pong
[20:44] zeade has joined the channel
[20:44] ldblackfox: i've just pushed the first experimental version on Mercurial if you wanna see
[20:45] Nuck: lolhg
[20:45] Nuck: git 4 life
[20:45] ldblackfox: Nuck: troll :)
[20:45] TheJH: Nuck++
[20:45] v8bot_: TheJH has given a beer to Nuck. Nuck now has 1 beers.
[20:45] catb0t: Nuck now has 1 beer
[20:45] Nuck: ldblackfox: Suck my enormous github.
[20:46] DrMcKay: ldblackfox: link?
[20:46] DrMcKay: Nuck++
[20:46] v8bot_: DrMcKay has given a beer to Nuck. Nuck now has 2 beers.
[20:46] catb0t: Nuck now has 1 beer
[20:46] Nuck: catb0t: You suck severely.
[20:46] catb0t: severely wrong with it, but a branch diff
[20:46] ldblackfox: DrMcKay: https://bitbucket.org/lordblackfox/init.node/overview
[20:47] fangel has joined the channel
[20:47] daaku has joined the channel
[20:48] ldblackfox: Nuck: actually Hg is enough for my needs for the moment; So why would I change?
[20:48] DrMcKay: ldblackfox: this rocks!
[20:48] ldblackfox: DrMcKay: thx
[20:48] DrMcKay: ldblackfox: I'll try it out tomorrow, I'm on laptop now
[20:48] DrMcKay: ldblackfox: how fast is it?
[20:48] noobjs has joined the channel
[20:48] ldblackfox: DrMcKay: be sure you have a live usb; we never know.
[20:48] Sazpaimon has joined the channel
[20:49] ldblackfox: DrMcKay: actually pretty fast for me
[20:49] DrMcKay: what arch uses by default?
[20:49] ldblackfox: later i'll replace rc.multi (which launch daemons)
[20:49] ldblackfox: DrMcKay: about what?
[20:49] ldblackfox: the configuration?
[20:50] TheJH: just coded a tool that can, given a number of people and a groupsize that's a prime, calculate a bunch of groups so that everyone sees each other person exactly once. if the number of people is the result of a multiplication of the groupsize with a natural number, the group also always have the same size. should I put it on github/nodejitsu or so?
[20:50] TheJH: (did it for someone in my family who is a teacher)
[20:50] MrTopf has joined the channel
[20:51] DrMcKay: ldblackfox: for init
[20:51] DrMcKay: ldblackfox: is it systemd or what?
[20:51] ldblackfox: actually not systemd; but you can use it
[20:51] DrMcKay: TheJH: patent it!
[20:52] DrMcKay: TheJH: sure, upload, might get useful :)
[20:52] TheJH: DrMcKay, it's 21 lines of coffeescript :D
[20:52] TheJH: but the idea is cool: spinning wheels
[20:52] ldblackfox: DrMcKay: a classic init script system.
[20:52] DrMcKay: well, some guy patented linked list
[20:52] TheJH: DrMcKay, are you SERIOUS?
[20:53] DrMcKay: ldblackfox: and your code is faster than this?
[20:53] ldblackfox: TheJH: if you patent it one day you'll sue Apple ^^
[20:53] DrMcKay: TheJH: don't you read reddit?
[20:53] raoul has joined the channel
[20:53] TheJH: DrMcKay, actually not
[20:53] TheJH: DrMcKay, I read a german newsblog and a news site
[20:53] DrMcKay: TheJH: oh. that's why you're productive! :D
[20:54] TheJH: DrMcKay, no, that's why I'm on IRC :D
[20:54] ldblackfox: Okay, i'v got to leave
[20:54] DrMcKay: ldblackfox: keep us updated :)
[20:54] DrMcKay: TheJH: http://www.google.com/patents?id=26aJAAAAEBAJ
[20:54] ldblackfox: DrMcKay: ok
[20:55] TheJH: DrMcKay, that's an optimized linked list, right?
[20:55] sh1mmer has joined the channel
[20:56] DrMcKay: TheJH: yes, it's a *bit* different
[20:56] TheJH: DrMcKay, one that's optimized for log(n) lookup and incredibly slow if you insert stuff
[20:56] DrMcKay: but hell, this thing isn't even especially innovative
[20:56] DrMcKay: and you can just patent it?
[20:57] nightshift has joined the channel
[20:58] DrMcKay: I mean, look at other patents of this guy
[20:59] DrMcKay: this gesture thing
[20:59] DrMcKay: what a bullshit
[20:59] TheJH: ouch
[20:59] TheJH: well, software patents are a crappy idea anyway
[21:00] devaholic has joined the channel
[21:00] TheJH: I know someone who wrote a raytracer before it was invented :D
[21:01] DrMcKay: TheJH: I've been using it before it was cool :D
[21:01] TheJH: he says the hardest part was mapping brightness to ASCII chars :D
[21:01] TheJH: because he only had a text printer
[21:01] DrMcKay: TheJH: lol :D
[21:01] kenperkins: anyone have any good practices for how to always handle a null callback (i.e. caller doesn't care case)
[21:01] kenperkins: do I really have to resort to littering my code with if (typeof(callback) .....) checks
[21:02] TheJH: kenperkins, (cb||noop)()
[21:02] DrMcKay: TheJH++
[21:02] v8bot_: DrMcKay has given a beer to TheJH. TheJH now has 1 beers.
[21:02] catb0t: TheJH now has 1 beer
[21:02] theCole has joined the channel
[21:02] kenperkins: hm
[21:03] TheJH: kenperkins, of course, you have to define noop somewhere, something like function noop(){}
[21:03] kenperkins: right, I hear ya
[21:04] ezmobius has joined the channel
[21:04] kenperkins: doesn't if (cb) return true in any "is something" case, including when it's not a function
[21:04] AvianFlu: if (!callback) { return new Error('Stop treating me like a synchronous function!') }
[21:05] DrMcKay: kenperkins: it returns false when it's null or undefined, it's enough
[21:05] TheJH: AvianFlus users have to care :D
[21:05] kenperkins: unless your arguments get screwed up (which happens more often with js than strongly typed languages)
[21:06] kenperkins: speaking of which, do you guys use anything to "compile" your js, and do things like signature checks
[21:06] AvianFlu: var args = Array.prototype.slice.call(arguments)
[21:06] TheJH: kenperkins, I think I published a library on npm that does signature checks at runtime based on comments
[21:07] TheJH: kenperkins, or wait, I think I only published the hungarian magic one...
[21:08] TheJH: kenperkins, http://search.npmjs.org/#/hungarian-magic and https://github.com/thejh/node-hungarian-magic for hungarian magic
[21:08] DrMcKay: hungarian notation? somebody uses it?
[21:08] TheJH: DrMcKay, for type checking :D
[21:08] DrMcKay: TheJH: not enough for an excuse :D
[21:09] kenperkins: haha
[21:09] TheJH: DrMcKay, hungarianWrap(function(numIndex, cb) {...})
[21:09] TheJH: DrMcKay, func.toString() ftw :D
[21:09] DrMcKay: :D
[21:10] mcluskyd_ has joined the channel
[21:10] raoul has joined the channel
[21:13] mehtryx has joined the channel
[21:15] mrchess` has joined the channel
[21:16] nibblebot has joined the channel
[21:26] JumpMast3r has joined the channel
[21:27] fade_ has joined the channel
[21:28] kmiyashiro has joined the channel
[21:32] chrislorenz has joined the channel
[21:32] chrislorenz: has anyone had issues serving static files on heroku
[21:32] chrislorenz: Getting application error when I try it
[21:33] parshap has joined the channel
[21:35] mrchess`: anyone else running into an issue where socket.io 0.7 leaves TCP in CLOSE_WAIT state?
[21:36] TheJH: mrchess`, that happens when the other side of the connection isn't reachable anymore
[21:37] zastaph has joined the channel
[21:37] TheJH: mrchess`, for example, if a client computer crashes
[21:37] achiu has joined the channel
[21:37] TheJH: mrchess`, that's not a socket.io issue, not even a nodejs issue. it's a tcp thing
[21:37] chrislorenz: nm found it it was how I was specifying my port
[21:40] mrchess`: ah i see
[21:40] jerrysv has joined the channel
[21:43] jvduf has joined the channel
[21:43] Raynos: SubStack: http://nodeknockout.com/services You know if browserling is stable enough it would be assume if it was in the list ;)
[21:44] jhbot has joined the channel
[21:44] eric_8th_Light has joined the channel
[21:45] MrTopf has joined the channel
[21:45] eric_8th_Light: Anybody got 30 seconds to answer what I suspect is a simple newbie question?
[21:46] AvianFlu: definitely
[21:46] TheJH: eric_8th_Light, if you would just ask, sure :D
[21:46] Jonathan_Dum: eric_8th_Light: Just ask your question instead of asking if you can ask a question
[21:46] eric_8th_Light: I'm working on an npm module - it's "main" as specified in the package.json is lib/eskimo. Now if I do a require(./lib/eskimo) it works, but if I do a npm link I cannot require('eskimo')
[21:46] Raynos: chrislorenz: no, serving static files now.
[21:47] eric_8th_Light: shouldn't s0enke
[21:47] eric_8th_Light: shouldn't it (1
[21:47] sh1mmer has joined the channel
[21:47] eric_8th_Light: y
[21:47] eric_8th_Light: sorry
[21:47] eric_8th_Light: 1 year old grabbing keyboard
[21:48] eric_8th_Light: shouldn't it? was supposed to be how I ended that :)
[21:48] Raynos: eric_8th_Light: It should work.
[21:48] Raynos: Of course it has to be in the same folder.
[21:48] eric_8th_Light: what does?
[21:48] Raynos: IF you want to access it in a different project you have to npm publish your module
[21:49] eric_8th_Light has left the channel
[21:49] eric_8th_Light has joined the channel
[21:49] TheJH: eric_8th_Light, you could try to see what node attempts to do using "strace -e trace=file node "
[21:49] eric_8th_Light: my trace is just me typing "node"
[21:49] eric_8th_Light: my script
[21:50] TheJH: eric_8th_Light, you run "node ", right?
[21:50] eric_8th_Light: no right now I just type node, and do a require in the console
[21:51] TheJH: eric_8th_Light, then try `strace -e trace=file node -e 'require("eskimo")'`
[21:51] TheJH: whoah, three different types of quotation marks...
[21:53] DrMcKay: maaan, that "Hello from Facebook" email is making me so proud
[21:53] DrMcKay: I think I'll actually print it
[21:53] DrMcKay: but how come FB has no node.js projects?
[21:54] DrMcKay: I think I should reject it
[21:54] shinuza_ has joined the channel
[21:54] chrislorenz: Raynos: Yeah it was something else in my code. Thanks :)
[21:54] mynyml has joined the channel
[21:55] AvianFlu: facebook is using node internally, I'm told
[21:56] miles339 has joined the channel
[21:56] DrMcKay: AvianFlu: so we're one step close to world domination
[21:56] DrMcKay: quick, someone write exploits!
[21:56] mikeal has joined the channel
[21:58] boaz has joined the channel
[21:59] miles339: I'm looking for a module to do static file serving, with the ability to let me generate parts of the page and integrate with a database in the future⦠I'm looking at the modules list on github and not sure what's the de facto standard for that. Ni looks pretty good for what I want, but I'm not sure if it handles different file types - html/js/css, etc
[21:59] ryan0x2 has joined the channel
[22:00] mraleph has joined the channel
[22:01] DrMcKay: ACTION writes a patch, requiters love patches
[22:01] TheJH: miles339, maybe express?
[22:01] TheJH: miles339, express + some templating thing
[22:01] TheJH: miles339, maybe dustjs or jade for templating
[22:01] eric_8th_Light has joined the channel
[22:02] markwubben has joined the channel
[22:02] carmony has joined the channel
[22:02] miles339: TheJH, express looks interesting -- I can tell by how many forks and watches it has that it's really popular. Plus a lot of the other modules seem to build off of or integrate with express
[22:03] miles339: TheJH, Thanks!
[22:04] TheJH: miles339, express is *the* framework for mixed-stuff sites (read: not only static files or so), I think
[22:04] miles339: TheJH, awesome - that's what I was looking for. There seem to be a good amount of options out there, just didn't know what was best or most widely use
[22:04] miles339: used*
[22:05] shinuza has joined the channel
[22:06] Nexxy has joined the channel
[22:06] Nexxy has joined the channel
[22:07] hellp has joined the channel
[22:09] markwubben has joined the channel
[22:10] elijah has joined the channel
[22:10] tomtomaso has joined the channel
[22:11] fade_ has left the channel
[22:13] AAA_awright has joined the channel
[22:14] cha0s has joined the channel
[22:14] cha0s has joined the channel
[22:17] saikat has joined the channel
[22:18] Isaiah has joined the channel
[22:18] prettyrobots has joined the channel
[22:20] unlink has joined the channel
[22:20] unlink has joined the channel
[22:20] kristsk has joined the channel
[22:21] mcluskydodallas has joined the channel
[22:26] DrMcKay: ACTION feels bad because he has to boot Windows
[22:27] DrMcKay: ACTION guesses that one time in ~2 months isn't that *bad*
[22:27] akshatj: DrMcKay, why, what is your primary OS?
[22:27] DrMcKay: akshatj: Linux, Fedora
[22:28] akshatj: ah cool
[22:28] DrMcKay: akshatj: you should try it :)
[22:28] DrMcKay: it isn't as bloated as Ubuntu and it actually works
[22:28] akshatj: Fedora has problems with my nvidia card
[22:28] DrMcKay: akshatj: oh, yes, it does
[22:29] DrMcKay: akshatj: drivers?
[22:29] akshatj: I think the default is nouveau
[22:29] DrMcKay: akshatj: you can easily disable it
[22:29] akshatj: it can't load the GUI
[22:30] DrMcKay: akshatj: oh, wow, that's hardcore
[22:30] DrMcKay: akshatj: what GPU are you using?
[22:30] akshatj: Nvidia GT 435M
[22:30] DrMcKay: mobile, right?
[22:31] akshatj: yeah
[22:31] akshatj: its a laptop
[22:31] DrMcKay: akshatj: have you tried installing NVIDIA drivers?
[22:31] akshatj: nope
[22:31] DrMcKay: akshatj: you should be able to do it through SSH, I think
[22:31] DrMcKay: but definitely, nouveau should support that
[22:32] DrMcKay: file a bug in RedHat bugzilla
[22:32] akshatj: I don't have Fedora installed now
[22:32] Spion has joined the channel
[22:32] tom-j has joined the channel
[22:33] DrMcKay: akshatj: you don't need it to file a bug ;)
[22:34] DrMcKay: akshatj: you can also ping folks at #fedora
[22:34] DrMcKay: akshatj: brb, gotta get my code tested on windows
[22:34] qbert has joined the channel
[22:35] qbert: whats that dnode / browserify channel ?
[22:36] perezd: what version of nodeJS corrected the miscalculation of Buffer.bytheLength ?
[22:37] smus has joined the channel
[22:38] ryah: perezd: ?
[22:39] perezd: I've been told there was a calculation bug with Buffer.byteLength given certain sizes of data that was run through it, and it has been since corrected (in the last 6 months)
[22:39] perezd: trying to figure out what version that was, and if I have one that is that old
[22:39] qbert: perezd, grab the latest ?
[22:40] perezd: I am about to
[22:40] perezd: but trying to confirm
[22:40] ryah: perezd: dont think so
[22:41] cha0s has joined the channel
[22:43] perezd: jk, wrong information
[22:43] Nexxy: and for that you shall be punished
[22:43] pr2012: whats the right way to change the connection timeout for http requests?
[22:44] tomgallacher has joined the channel
[22:45] dob_ has joined the channel
[22:45] boaz has joined the channel
[22:47] mcluskydodallas has joined the channel
[22:47] daed: node.js is for noobs amirite?
[22:47] qcom_ has joined the channel
[22:47] daed: (that was a sincere joke btw, please don't ban me?)
[22:47] Nuck: lololol
[22:48] qcom_: is it possible to check a form element's value right in jade?
[22:48] daed: there are server side forms?
[22:48] Nuck: Jade is a templating engine.
[22:48] daed: <- huge noob obviously
[22:49] daed: i just find it odd that a server side language would be involved with forms
[22:49] daed: must be jade?
[22:49] Nuck: Jade can work on the client too
[22:49] daed: define 'client'
[22:49] qcom_: well I don't have to
[22:49] qcom_: but it would be easy
[22:50] daed: oh snap.
[22:50] hekkwan has joined the channel
[22:50] qcom_: you can also use plain javascript right in jade
[22:50] daed: what are the strengths of jade?
[22:51] ggg has joined the channel
[22:51] daed: oh
[22:51] daed: it's haml-style
[22:51] ggg: anyone familiar with facebook authentication flow process with connect-auth?
[22:51] kadiks: btw, which template engine do you recommend ?
[22:52] daed: good question
[22:52] daed: jade looks nice
[22:52] pr2012: I prefer EJS
[22:52] pr2012: but I hate HAML
[22:52] daed: i go back and forth
[22:52] blup has joined the channel
[22:52] daed: if the day of the month is an even #, i hate HAML
[22:53] daed: otherwise i don't mind it
[22:53] ryanfitz has joined the channel
[22:53] bengrue has joined the channel
[22:53] langworthy has joined the channel
[22:53] chrislorenz has joined the channel
[22:54] tuhoojabotti: I use dust
[22:54] tuhoojabotti: :u
[22:54] daed: TRAITOR
[22:54] daed: what's dust?
[22:54] tuhoojabotti: template engine I think
[22:54] tuhoojabotti: :D
[22:54] arlolra has joined the channel
[22:54] daed: well then.
[22:55] arlolra: SubStack: hey. should partials work in jadeify?
[22:56] SubStack: arlolra: you can either pass in a jadeify() call as a variable or an html dom element or a jquery object
[22:56] SubStack: also you can call jadeify() from inside the templates
[22:56] kadiks: thx, I googled them
[22:56] pr2012: dust looks nice. Any limitations?
[22:57] arlolra: SubStack: ah. ty ty
[22:57] daed: is dust express-specific?
[22:57] tuhoojabotti: no
[22:58] tuhoojabotti: I don't use express
[22:58] daed: first link only came back with express-dust
[22:58] daed: my internet is *awful*
[22:58] tuhoojabotti: http://akdubya.github.com/dustjs/
[22:58] daed: many thanks
[22:59] secoif has joined the channel
[23:00] raoul has joined the channel
[23:00] secoif: hey would node be useful in creating 'internet cafe' type software?
[23:00] tuhoojabotti: What would that be?
[23:01] oceanspray_: secoif: i think so
[23:01] tuhoojabotti: But of course.
[23:01] tuhoojabotti: :D
[23:01] tuhoojabotti: It's node afterall
[23:01] perezd: does nodejs chunk requests if no Content-Length is provided?
[23:01] secoif: restricting bandwidth, shutting down connections after a certain time
[23:01] tuhoojabotti: perezd: It always chunks, afaik
[23:02] openpercept has joined the channel
[23:02] liquidproof has joined the channel
[23:03] secoif: So the idea would be I set the node up as a proxy?
[23:03] secoif: and apply my restrictions regime over the top
[23:03] secoif: ?
[23:03] perezd: tuhoojabotti: not if you specify a content-length...
[23:03] tuhoojabotti: Who would do that? :u
[23:04] ggg: could someone explain me what req.param('method')] does in the followingl line req.authenticate([req.param('method')], function(error, authenticated) { from connect-auth facebook exemple ...??
[23:05] akshatj has joined the channel
[23:05] secoif: I don't really know how to set up a computer as the 'internet source' though
[23:05] daed: 'internet source'?
[23:05] secoif: ha
[23:06] secoif: say I have three computers, I want one to pretend it's a router (it'll be running my node software)
[23:06] kmiyashiro has joined the channel
[23:06] topaxi has joined the channel
[23:07] unlink has joined the channel
[23:07] unlink has joined the channel
[23:07] secoif: I think the term is 'a wifi hotspot'
[23:07] daed: haha
[23:07] tuhoojabotti: oh wifi
[23:07] secoif: gah, i sound like a noob
[23:07] tuhoojabotti: That's not a node problem :D
[23:09] daed: <- obvious noob, does node optimize itself over time like most java services?
[23:09] daed: guess it's a function of v8 overall
[23:09] tuhoojabotti: How does one optimize assembly over time?
[23:09] daed: well
[23:09] daed: the JVM continuously optimizes
[23:09] tuhoojabotti: v8 optimizes with hidden classes
[23:09] tuhoojabotti: Has nothing to do with node.
[23:09] daed: just-in-time style.
[23:09] tuhoojabotti: :D
[23:10] secoif: TIL: v8 optimizes with hidden classes
[23:10] daed: figured it wasn't really "node" per se
[23:10] daed: just v8 itself
[23:10] tuhoojabotti: > Comes to #node.js > asks questions about other stuff.
[23:10] tuhoojabotti: You're just like me!<3
[23:10] daed: well, had to make sure
[23:11] daed: i'm overly curious :(
[23:11] heavysixer has joined the channel
[23:11] chrisdickinson: V8 will JIT "hot" code, and it also plays really well with traditional-style JS function classes (function + prototype, invoked using 'new')
[23:11] raoul has joined the channel
[23:11] Sazpaimon has joined the channel
[23:11] daed: chris; you rock
[23:12] tuhoojabotti: That's what I said, why don't I rock? :(
[23:12] tuhoojabotti: Well kind of
[23:12] chrisdickinson: it'll turn those into "hidden" classes, in that it'll basically mmap attributes of those classes at known offsets.
[23:12] daed: hmm, that's a really good question
[23:13] daed: tuhoo where are you from?
[23:13] tuhoojabotti: Finland.
[23:13] arlolra: SubStack: sorry to bug. https://gist.github.com/1159816
[23:13] daed: awesome.
[23:13] chrisdickinson: so lookups turn into 'oh here's an attribute, look it up and get an integer offset into the memory mapped attribute list, pull attribute from memory map'. at least as i understand it.
[23:14] tuhoojabotti: chrisdickinson: No need to understand it, just dial with it.
[23:14] FearOfMusic: anyone here using calipso?
[23:14] chrisdickinson: (and, if i'm not completely mistaken, instances of the class can use that hidden class and avoid doing the prototype-chain-lookup dance at each attribute lookup)
[23:15] tuhoojabotti: chrisdickinson: It takes 3 steps, 1 ignores 2 creastes the hidden class and 3 just looks it up there.
[23:15] chrisdickinson: tuhoojabotti: cool :)
[23:15] zackattack has joined the channel
[23:15] zackattack: hey
[23:15] zackattack: what's the best chatbot written for node?
[23:15] tuhoojabotti: zackattack: Me.
[23:15] tuhoojabotti: ":D"
[23:15] zackattack: haha
[23:15] chrisdickinson: re: JIT'ing, I'm pretty sure certain constructs disable the JIT -- like arguments.callee.
[23:16] chrisdickinson: (again, could be wrong.)
[23:16] daed: i'm writing a new irc bot, why should i choose node.js vs ruby vs erlang vs XYZ?
[23:16] zackattack: has someone ported Eliza to nodejs yet?
[23:16] zackattack: ryah: didn't you tweet a node.js bot recently?
[23:16] tuhoojabotti: daed: Choose PYTHON!
[23:16] daed: ZOMG PYTHONG.
[23:16] tuhoojabotti: ACTION hides
[23:16] chrisdickinson: actually, python + gevent = not bad
[23:16] daed: haha i didn't list python for a reason
[23:16] zackattack: pythong sounds like the name of a Male Strip Club.
[23:16] daed: yu0p
[23:17] daed: i'm not sure whether to be disgused or turned on
[23:17] daed: or both.
[23:17] tuhoojabotti: I use a python bot, which I have created some modules for.
[23:17] smtlaissezfaire has joined the channel
[23:17] tuhoojabotti: daed: So where are you from?
[23:17] weswilliamz has joined the channel
[23:17] tuhoojabotti: or located
[23:17] daed: tuhoo; orlando, FL
[23:17] igl1 has joined the channel
[23:17] eazyigz: I am using jQuery's $.each in node.js. Is there a way to find out when $.each finished?
[23:17] tuhoojabotti: eazyigz: when(each).do()
[23:17] tuhoojabotti: Or something like that. :P
[23:18] tuhoojabotti: when().done()
[23:18] tuhoojabotti: that's what I do. :D
[23:18] AAA_awright: eazyigz: It's synchronous
[23:19] eazyigz: tuhoojabotti: when(each) is valid in node.js?
[23:19] tuhoojabotti: No idea.
[23:19] eazyigz: AAA_awright: so?
[23:19] Ratty_: Node uses a lot of ANSI colours, is there a module to make it easy to output them in my own stuff?
[23:19] AAA_awright: eazyigz: So, it's done after the call to .each is made
[23:19] tuhoojabotti: Ratty_: I use colors module.
[23:19] tuhoojabotti: Yeah
[23:19] robotmay has joined the channel
[23:20] eazyigz: AAA_awright: nothing in node.js is guaranteed to execute in a particular order
[23:20] tuhoojabotti: $.each(...); done();
[23:20] Ratty_: I'll take a look at that. Ta
[23:20] mikekunze has joined the channel
[23:20] eazyigz: so my function may execute before .each is finished!
[23:20] AAA_awright: eazyigz: Unless jQuery somehow learned Node.js and is adding callbacks to the event loop, everything jQuery does is synchronous
[23:20] tuhoojabotti: Yes.
[23:21] tuhoojabotti: Ratty_: https://github.com/marak/colors.js
[23:21] Ratty_: ooh sexy
[23:21] chrisdickinson: AAA_awright: both node.js and in-browser share an api for adding things to the event loop.
[23:21] tuhoojabotti: Ratty_: It is!
[23:21] jesusabdullah: Colors is a lot of fun
[23:21] chrisdickinson: v8: setTimeout(function() { console.log(1) }, 0);
[23:21] v8bot_: chrisdickinson: ReferenceError: setTimeout is not defined
[23:21] daed: makes me wonder if coffeescript makes both node and ruby devs want to kill themselves
[23:21] chrisdickinson: well. it's defined in node, at least :)
[23:22] some1else has joined the channel
[23:22] chrisdickinson: ACTION likes coffeescript
[23:22] daed: chris; whoa whoa
[23:22] tuhoojabotti: ew
[23:22] daed: slow down.
[23:22] chrisdickinson: i think i'm back to liking javascript better, but coffeescript isn't bad.
[23:22] daed: let's just SLOW DOWN now.
[23:22] tuhoojabotti: ACTION likes teapots
[23:22] tuhoojabotti: http://dev.tuhoojabotti.com/api/easter
[23:22] daed: js+python+ruby is just awkward (but kind of sexy)
[23:24] chrisdickinson: daed: it reads and writes nicely, and avoids a lot of really uncomfortably common pitfalls.
[23:24] AAA_awright: chrisdickinson: The browser just provides some APIs that are asyncronous, there's no (exposed) concept of an event loop. None of them are natively implemented in Node.js, like XMLHttpRequest
[23:24] daed: i agree
[23:24] daed: but there are always purists
[23:24] indexzero has joined the channel
[23:24] secoif has joined the channel
[23:24] jesusabdullah: Naw, I think they're all just different things that different people like
[23:24] chrisdickinson: AAA_awright: setTimeout is exposed in both.
[23:24] eazyigz: tuhoojabotti: $.each is i/o bound, and so done() executes before .each
[23:24] daed: nexxy last night was a purist.
[23:24] chrisdickinson: And can be used like process.nextTick
[23:24] jesusabdullah: You get *really* attached to things when you work with them every day
[23:24] daed: whoa, she's here
[23:24] tuhoojabotti: eazyigz: That's why I used when().done()
[23:25] H4ns``` has joined the channel
[23:25] AAA_awright: chrisdickinson: it's window.setTimeout in the browser
[23:25] tuhoojabotti: But somehow my script also works each();callback(); style in node
[23:25] eazyigz: tuhoojabott: I'm trying to understand how .done() is executed on when()
[23:25] chrisdickinson: AAA_awright: everything on window is globally available.
[23:25] daed: that teapot page hypnotized me.
[23:25] AAA_awright: That's not guarenteed that I'm aware of
[23:25] jesusabdullah: YOU're here!
[23:26] tuhoojabotti: daed: It's pure css. :D
[23:26] daed: holy shit
[23:26] chrisdickinson: AAA_awright: it's pretty guaranteed. the minimum resolution of setTimeout isn't.
[23:26] AAA_awright: But yes, if jQuery used setTimeout then that qualifies as async
[23:26] chrisdickinson: (sorry to be pedantic)
[23:27] ryan[WIN] has joined the channel
[23:28] daed: is writing node.js code in coffeescript similar to interracial porn?
[23:28] daed: trying to find analogues.
[23:29] chrisdickinson: daed: basically re: coffeescript, if all javascript was written for V8, i'd forget about coffeescript. but since JScript exists, I see some utility to coffeescript.
[23:29] chrisdickinson: ACTION has a coffeescript orm for node :\
[23:29] daed: hmm
[23:29] daed: whoa
[23:29] chrisdickinson: https://github.com/chrisdickinson/ormnomnom
[23:29] daed: ORMNOM NOM NOM
[23:29] chrisdickinson: just to be totally unpopular -- it's for SQL, it's an ORM, and it's in Coffeescript.
[23:29] daed: still have to explicitly define the model though?
[23:30] daed: i.e. all fields
[23:30] chrisdickinson: daed: ormnomnom takes the django approach and treats your model as the canonical representation of your data.
[23:30] daed: ahh ok
[23:30] AAA_awright: Or, just write ECMAScript and convert it to whatever mutliated buggy interpertations there are
[23:30] maushu_: Hmm, no dlopen for Windows? :(
[23:30] daed: similar to datamapper then?
[23:31] daed: hmm
[23:31] chrisdickinson: ACTION peers at datamapper
[23:31] daed: i see Schema.meta
[23:31] chrisdickinson: (sorry, I'm from python-land.)
[23:31] daed: i did a lot in python, but never any ORM
[23:32] daed: this is pretty fascinating
[23:32] Sembiance: omg I love node.js it's just so... efficient!
[23:32] daed: i feel like i'm on mtv live right now
[23:32] Nexxy: ACTION scoffs @ the current conversation topic
[23:32] chrisdickinson: daed: thanks / good catch on the `Schema.meta`. It should be `Section.meta`. Just fixed that
[23:32] daed: and node.js is whoever daly
[23:32] Nexxy: CARSON
[23:32] Nexxy: GOD
[23:33] daed: jesus fucking christ
[23:33] daed: thank you
[23:33] daed: HIM
[23:33] Nexxy: you're most welcom, my son
[23:33] Nexxy: welcome*
[23:33] Nexxy: ACTION gently touches daed's shoulder.
[23:33] dgathright has joined the channel
[23:33] daed: i wanted to say carlton
[23:33] daed: but then i felt obligated to do the carlton dance
[23:33] Nexxy: BANKS?!~
[23:34] daed: yes
[23:34] Nexxy: YEAY-UH
[23:34] MrTopf has joined the channel
[23:34] ako has joined the channel
[23:34] chrislorenz has joined the channel
[23:35] zeade has joined the channel
[23:35] daed: so i heard that node.js treats objects like women
[23:35] Nexxy: ACTION waits for it...
[23:35] daed: ACTION waits...
[23:35] Sembiance: who are the weavers now.... and who... are the woven!
[23:36] SubStack: I heard that node treats errors like arguments
[23:36] Sembiance: #php 479 users. #node.js 602
[23:36] Sembiance: rofl
[23:36] chrisdickinson: SubStack: zing!
[23:37] bnoordhuis has joined the channel
[23:37] AAA_awright: To be fair, Node.js is formed around IRC and GitHub, PHP... just kinda exists
[23:38] ryan0x2 has joined the channel
[23:39] stalled has joined the channel
[23:40] eric_8th_Light: Aha! Does this make sense to you npm experts: When I do npm link connect then npm uses internet magic to put connect into my global node module repo. Then if I call require('connect') it works. If I npm rm connect, then git clone the connect repository and go into that directory and run npm link it creates a symbolic link to connect on my local machine, but require('connect') does not work. I'm using connect because I wanted t
[23:40] Raynos has left the channel
[23:40] SubStack: arlolra: jadeify() returns a jquery handle
[23:40] DrMcKay has joined the channel
[23:40] dgathright has joined the channel
[23:41] SubStack: you could do jadeify()[0].outerHTML I guess
[23:41] arlolra: let me see
[23:41] DrMcKay: you guys won't even believe what I just saw.
[23:41] eric_8th_Light: Kirk Gibson hit a home run on one leg to win a world series game?
[23:41] DrMcKay: this whole Windows thing... it can't ever properly parse it's command line arguments!
[23:42] Yoric has joined the channel
[23:42] DrMcKay: eric_8th_Light: well... um...
[23:42] DrMcKay: no, seriously, I can't imaging more bloated system.
[23:43] DrMcKay: s/imaging/imagine/
[23:43] tuhoojabotti: We should all use losethos
[23:43] SubStack: bloatedness doesn't factor into how messed up the command line is
[23:43] SubStack: that's just the way that dos did it in 1985
[23:44] sh1m has joined the channel
[23:44] jesusabdullah: My command line doesn't look retro enough.
[23:44] SubStack: so 26 years later that's how we have to keep doing everything
[23:44] DrMcKay: SubStack: but it just doesn't feel sane...
[23:45] ggg: anyone can help me understand connect-auth with facebook?
[23:46] DrMcKay: ggg: you mean the FB authentication itself?
[23:46] ggg: yes
[23:47] ggg: I keep getting authentication failed
[23:47] DrMcKay: ggg: well, it's kinda simple.
[23:47] DrMcKay: ggg: when?
[23:47] jesusabdullah: Oh my gosh this font is amazing but not retro enough :(
[23:47] jesusabdullah: It's got smallcaps
[23:47] ggg: I dont understand req.param('method')] does in the followingl line req.authenticate([req.param('method')], function(error, authenticated) {
[23:48] DrMcKay: ggg: oh, it's some node library, right?
[23:48] ggg: yes
[23:49] hybsch has joined the channel
[23:51] ggg: its an addon for express
[23:51] DrMcKay: ggg: sorry, I'm not familiar with it (yet)
[23:56] chrisdickinson: ggg: express?
[23:56] ggg: well, its for connect, but works with express
[23:57] chrisdickinson: ah -- i'd look at http://expressjs.com/guide.html#req.param()
[23:58] chrisdickinson: i guess it's looking for the parameter 'method', either from the matched url, GET params, or the POST params.
[23:59] ggg: matched url?