[00:00] ryah: augustl_eee: https://github.com/isaacs/npm/tree/master/doc
[00:00] augustl_eee: thanks!
[00:01] CIA-54: node: 03Ryan Dahl 07master * ra0159b4 10/ (159 files in 7 dirs): Fix global leaks - http://bit.ly/g6T5EI
[00:04] augustl_eee: should I use my-cool-project, my_cool_project or myCoolProject as my npm package name? I have a hunch it's the 1st one
[00:04] sechrist: anything recently change with buffer? https://gist.github.com/728618
[00:04] jsilver has joined the channel
[00:05] ryah: sechrist: 0.2 and 0.3 changed the c++ api for buffers
[00:05] ryah: between 0.2 and 0.3 that is
[00:05] sechrist: ah yeah that's where I jumped
[00:06] langworthy has joined the channel
[00:06] aaronblohowiak: augustl_eee: the first one
[00:06] anynick has joined the channel
[00:07] RevoOf has joined the channel
[00:08] mscdex: ryah: should stack traces from node_g include stuff from node c++ land?
[00:08] SubStack: sechrist: good news, that
[00:08] sugardave has joined the channel
[00:09] sechrist: SubStack: https://gist.github.com/728620
[00:09] ryah: mscdex: no
[00:09] mscdex: d'oh
[00:09] unomi has joined the channel
[00:09] svnlto has joined the channel
[00:09] sechrist: SubStack: that may break some flow if there's like "continue" or something for forever -- but that's the problem
[00:09] sechrist: ryah: any pointers to the changes for the buffer api? was it on the mailing list?
[00:10] SubStack: sweet
[00:10] langworthy has joined the channel
[00:10] SubStack: sechrist: do a pull request
[00:11] sechrist: SubStack: Binary doesn't do anything like breaking out of a forever or something does it?
[00:11] anynick has left the channel
[00:11] mscdex: ryah: any easy way to debug within c++ land? cygwin seems to be failing in EvalMachine i think
[00:11] sechrist: that fix wouldn't work in that case
[00:11] SubStack: well there are expresso tests
[00:11] SubStack: just change it and see if they still pass
[00:11] sechrist: ah ok
[00:12] sechrist: <3 unit tests
[00:13] SubStack: blech one of them seems broken
[00:13] isaacs_ has joined the channel
[00:13] SubStack: before applying any changes
[00:13] sechrist: welp
[00:14] augustl_eee: in NPM dependencies, can I say I want to depend on "1.x.x"? I.e. any version of major version 1
[00:14] sechrist: SubStack: is it trivial? should I wait for a commit?
[00:15] augustl_eee: ">1.0.0 || <2.0.0" perhaps. I wonder if that breaks for version 1.1 - i.e. no third digit
[00:15] ryah: mscdex: gdb
[00:15] SubStack: Wait for a commit? What does that mean?
[00:15] SubStack: oh on the test
[00:15] SubStack: well if you just do
[00:15] SubStack: for js in test/*.js; do echo $js; expresso $js; done
[00:16] SubStack: and kill the ones that stall
[00:16] SubStack: but I'm fixing them
[00:17] mikeal has joined the channel
[00:17] maushu_ has joined the channel
[00:17] masahiroh has joined the channel
[00:17] sechrist: SubStack: there's a ton of fail for me, mainly because of equal
[00:18] aaronblohowiak: New install script for node: https://github.com/aaronblohowiak/curl-install-node ;-)
[00:18] SubStack: old tests
[00:18] SubStack: sechrist: before the changes?
[00:18] sechrist: yeah
[00:18] sechrist: fresh fork
[00:18] DTrejo: aaronblohowiak: dude, make a combined one that also installs npm :)
[00:18] SubStack: what node version?
[00:18] sechrist: npm installed expresso
[00:18] sechrist: v0.3.2-pre
[00:18] SubStack: oh I had this issue on a fresh install too
[00:19] SubStack: expresso and 0.3 don't play nicely
[00:19] sechrist: wah
[00:19] sechrist: I need 0.3 for node-profiler but so many things want me to use 0.2
[00:19] sechrist: I may need dual installs
[00:19] aaronblohowiak: DTrejo: oooooh, that should be my next big (> 4 LOC) project
[00:19] SubStack: yeah it sucks
[00:20] SubStack: well you could just run the tests with a little script that calls all the exports with require('assert')
[00:20] aaronblohowiak: DTrejo: should i install npm as root, just to give isaacs an ulcer?
[00:20] DTrejo: haha, no
[00:20] sechrist: SubStack: I went back to 0.2.5 and same problem
[00:20] SubStack: odd!
[00:20] SubStack: did you completely reinstall expresso?
[00:20] sechrist: ooh
[00:20] sechrist: no
[00:21] DTrejo: aaronblohowiak: you going to make .mpkg's or something like that for mac? and a .exe for pc hehe ?
[00:21] SubStack: and try another package's test for comparison maybe also
[00:21] DTrejo: scratch the pc idea
[00:21] sechrist: recompiling expresso
[00:21] SubStack: oh I had such a hard time earlier this week reverting down to 0.2.5 and getting npm to not include 0.3 libs
[00:21] sechrist: for 25
[00:21] sechrist: still failed
[00:21] sechrist: gah
[00:21] aaronblohowiak: DTrejo: if you look at my install scripts for versions, all they do is set an ENV var, and then curl and pipe another script from my github
[00:21] aaronblohowiak: hahaha
[00:22] DTrejo: yeah I saw
[00:22] DTrejo: DRY at its best
[00:22] sechrist: can I just import assert?
[00:22] Rixius has joined the channel
[00:22] sechrist: oh I see
[00:23] SubStack: ok just fixed the tests
[00:23] SubStack: just some server/client race conditions
[00:23] DTrejo: aaronblohowiak: I'm working on a JS compression comparison mini-site
[00:23] aaronblohowiak: DTrejo: oooo, that's pretty cool. are you at hacker dojo?
[00:23] DTrejo: right now I have jsmin vs uglify, going to add closure and packer, hopefully tonight
[00:24] wtfwtfwtfwtfwtf has joined the channel
[00:24] DTrejo: aaronblohowiak: hehe no, I'm at brown
[00:24] aaronblohowiak: DTrejo: oh, burrrr
[00:24] DTrejo: do they have saturday night events?
[00:24] RevoOf has joined the channel
[00:24] aaronblohowiak: DTrejo: well, it is SHDH today so there are like 50 people here hacking away on laptops
[00:24] sechrist: SubStack: how did you go between .3 and back to .2?
[00:24] sechrist: I'm still having expresso issues
[00:25] sechrist: do I have to uninstall all npm packages?
[00:25] Rixius: what's SHDH ?
[00:25] aaronblohowiak: Rixius: "The premier monthly hackathon event that combines serious and not-so-serious productivity with a fun and exciting party atmosphere." http://superhappydevhouse.org/w/page/16345504/FrontPage
[00:25] DTrejo: aaronblohowiak: just RTed heh
[00:26] aaronblohowiak: DTrejo: bwahahaha, now i will add a rootkit
[00:26] DTrejo: nooo
[00:27] SubStack: sechrist: had to delete everything in the npm root
[00:27] sechrist: fudge
[00:27] SubStack: and even that didn't work right away, I had to do something else too
[00:29] MattDiPasquale has joined the channel
[00:29] mklappstuhl has joined the channel
[00:30] sechrist: SubStack: what version of expresso are you running?
[00:30] sechrist: 0.7.0?
[00:31] SubStack: yes
[00:32] jchris has joined the channel
[00:32] mklappstuhl: how do you handle the downsides of using coffeescript? i imagine that debugging for example could get quite complicated
[00:32] DTrejo: aaronblohowiak: it's surprising, but there's no standalone JS dean edward's packer on github
[00:32] DTrejo: I might do that
[00:33] sechrist: SubStack: ahh the tests don't have ../ in path so it wants an already installed module for them
[00:33] sechrist: I think that's simple to solve though
[00:33] Rixius: Dtrejo: You should
[00:33] DTrejo: mmk :)
[00:34] aaronblohowiak: DTrejo: i dont know dean edward's packer..
[00:34] Rixius: and link me to the repo and i'll fork it
[00:34] aaronblohowiak: DTrejo: is that the thing that will also change variable names?
[00:34] richcollins has joined the channel
[00:34] DTrejo: Rixius: aaronblohowiak : http://base2.googlecode.com/svn/trunk/src/apps/packer/packer.html
[00:35] DTrejo: http://code.google.com/p/base2/
[00:35] DTrejo: Rixius: that version targets the browser, and there's a rhino version, but ima make one that works well with node I think
[00:36] Rixius: sweet
[00:36] mklappstuhl has joined the channel
[00:36] wdperson has joined the channel
[00:36] aaronblohowiak: DTrejo: oooh, interesting
[00:36] maushu__ has joined the channel
[00:36] Rixius: I wanted the YUI Compress for node, but its only Rhino so a Dean Edwards Packer that's node-compatible would be awesome
[00:37] arrty has joined the channel
[00:37] DTrejo: Rixius: if I do a require('./module') it puts things into the global namespace right?
[00:38] bingomanatee__: what is the best way to implement inheritance in node?
[00:38] DTrejo: actually nvm
[00:39] chrisdickinson: bingomanatee__: require('util').inherit works pretty great.
[00:39] bingomanatee__: thanks
[00:39] bingomanatee__: DTrejo - its worth experimenting to verify but I belive you have to require modules in a file by file level unless you actually use the global variable.
[00:39] chrisdickinson: bingomanatee__: i left off an "s": require('util').inherits
[00:41] mklappstuhl has joined the channel
[00:41] bingomanatee__: thanks
[00:42] mklappstuhl: can anyone read this?
[00:42] bingomanatee__: not seeing that in http://nodejs.org/docs/v0.3.1/api/util.html - is it undocumented?
[00:42] aaronblohowiak: mklappstuhl: no, i forgot how to read =(
[00:43] isaacs has joined the channel
[00:44] aaronblohowiak: bingomanatee__: https://github.com/ry/node/blob/master/lib/util.js
[00:44] mlu has joined the channel
[00:45] bingomanatee__: guess so...
[00:45] mlu: I've been seeing a few things written on top of node.js, and they all seem to utilize the event loop stuff very well
[00:45] mlu: so I've been thinking about just playing around with it
[00:45] mlu: are there any frameworks that you guys would recommend?
[00:46] aaronblohowiak: mlu: http://nodejs.org/docs/v0.3.1/api/appendix_1.html
[00:46] mlu: or is that not necessarily the best way to get introduced to node.js if I'm looking at it mainly for developing web apps?
[00:46] mklappstuhl has joined the channel
[00:46] mklappstuhl: hey again
[00:46] mlu: aaronblohowiak: thanks
[00:47] jesusabdullah: mlu: I think express would be a good place to start.
[00:47] jesusabdullah: (that is, if you want framework)
[00:47] mlu: ah
[00:47] aaronblohowiak: is anyone using express on 3.1 ??
[00:48] mklappstuhl: can anyone explain me my i should use coffeescript? i'm somehow missing the point here, since i mostly see the aspect of harder debugging
[00:48] mlu: far as I see it: I'd choose to use node.js over something like Rails if what I used could really benefit from having a lot of constantly open connections and dynamically established processes, right?
[00:48] aaronblohowiak: mklappstuhl: use it if you like it.
[00:49] mlu: (eg. it isn't your traditional ReSTful webapp)
[00:49] dannycoates has joined the channel
[00:49] aaronblohowiak: mlu: yes. or if you want lower memory usage and faster execution than rails
[00:51] CIA-54: node: 03Ryan Dahl 07master * r92789b1 10/ (30 files in 5 dirs): Fix global leaks - http://bit.ly/fKWS7k
[00:51] CIA-54: node: 03Ryan Dahl 07master * r02cc39f 10/ (8 files in 2 dirs): Check for global leaks in all tests - http://bit.ly/grrwF9
[00:52] jimt_ has joined the channel
[00:52] aubergine has joined the channel
[00:54] AAA_awright_ has joined the channel
[00:55] jesusabdullah: mlu: Or, if you just prefer javascript
[00:56] davidc_ has joined the channel
[00:58] sechrist: SubStack: k I got it working with new expresso, fixed some of the tests to handle buffer with toString()
[00:58] sechrist: however I'm not sure what to do about your happy purring cats test just yet
[00:58] peterwmwong1: mlu: coffeescript? for me, my pain threshold for typing 'function', {, and } was low :)
[00:58] sechrist: abstracting javascript sounds like a bad idea
[00:58] sechrist: especially for just {}
[00:59] DTrejo: Rixius: blorg.
[00:59] SubStack: sechrist: also note that I just pushed some updates
[00:59] SubStack: might fix stuff
[01:00] bingomanatee__: It seems to me that if typing syntactically correct structures is an unbearable burden to you you should consider other careers.
[01:00] DTrejo: Rixius: it's built on base2, and there's some importing / file concatenation stuff, hmm
[01:00] sechrist: I upstream fetched your last commit
[01:00] sechrist: iirc
[01:00] DTrejo: need to read more
[01:00] bingomanatee__: IMHO
[01:00] sechrist: none of them hanged
[01:00] sechrist: just comparison with Buffers and strings without tostrings
[01:01] mlu: <-- also a Java and C programmer; the { }'s are something I routinely use everyday
[01:01] mlu: the real thing that actually gets to me is actually code that's dependent on indentation
[01:01] bingomanatee__: I spent the last seven years typing $ and -> for PHP - you can suck up a few braces.
[01:01] bingomanatee__: :D
[01:02] mlu: ah yes, $'s were the real reason I ditched PHP
[01:02] mlu: when I see a $ sign, it better be on an invoice I sent out
[01:02] langworthy has joined the channel
[01:02] SubStack: there are so many more better reasons
[01:02] bingomanatee__: yeah well try doing $$varname in JavaScript! (heh)
[01:03] cafesofie has joined the channel
[01:04] MattDiPasquale has joined the channel
[01:04] mlu: ah, yeah -- inconsistency, and the fact that if I'm writing a webapp, the whole notion of scripts as files (and using PATHINFO for clean URLs / whatnot) felt like a hack
[01:04] bingomanatee__: PHP has several outstanding performance issues.
[01:05] SubStack: the most glaring problem remains unmentioned: thousands of functions in core
[01:05] SubStack: with inconsistent parameters and naming
[01:05] mlu: hence why I find Rails nice compared to PHP / Perl / CGI; the whole framework goes to routes and the need for dirty rewrites, etc. are no longer necessary
[01:05] mscdex: some of that is for backwards compatibility though
[01:06] mscdex: like implode
[01:06] mscdex: heh
[01:06] mlu: among the same lines, that's what got me looking at node.js: it goes a step further
[01:06] SubStack: I don't like how rails focuses on the database for everything
[01:06] bingomanatee__: I always wondered why they didn't have more discipline in the library system. -- but I defy you find a language that old that doesn't have legacy issues.
[01:06] bingomanatee__: Show me node.js in ten years.
[01:07] SubStack: want to pass a message to another piece of the codebase? write it to the database!
[01:07] paulrobinson has joined the channel
[01:07] mlu: there's a right tool for everything
[01:07] SubStack: bingomanatee__: javascript already has buckets of legacy issues
[01:07] bingomanatee__: 4 sure
[01:07] AAA_awright_ has joined the channel
[01:07] twoism has joined the channel
[01:08] mlu: sure, I may write some really exciting app that could take advantage of node.js, but chances are, most of the projects I do are your boring ol' customized interface to a DB
[01:08] bingomanatee__: an especially unhelpful typeof is a good place to start. dom. etc.
[01:08] SubStack: but javascript doesn't have the runaway snowball-earth scale legacy issues that php has accumulated
[01:08] AAA_awright: mlu: What other symbol would you use?
[01:08] bingomanatee__: uh.... DOM?
[01:08] AAA_awright: $ is brilliant, to mark variables
[01:09] bingomanatee__: foo
[01:09] mlu: AAA_awright: why bother marking out variables when they can be implied?
[01:09] AAA_awright: Because you can't always imply them
[01:09] AAA_awright: In templates, and PHP is a templating language
[01:09] mlu: eg. people phased out hungarian notation with typed languages
[01:09] AAA_awright: Personally I would even make item access use that... $item$subitem$array$0
[01:10] mlu: ah, yeah, $'s are nice when you just want them for substituion in templates
[01:10] sechrist: SubStack: pullreq'd
[01:10] bingomanatee__: You can use $ in javascript if you feel like it :D
[01:10] mscdex: gah i have no idea what the problem is on cygwin
[01:10] spetrea__ has joined the channel
[01:10] AAA_awright: For some strange reason
[01:10] mscdex: there are null handles for some reason
[01:11] mlu: it's just that if I'm writing a heavy-duty algorithm (eg. say, processing a dataset with an NP-complete algorithm, I better not have $'s in my variables)
[01:11] okuryu has joined the channel
[01:11] SubStack: 100% wooo
[01:12] mscdex: back to oscar
[01:12] mscdex: heh
[01:12] bingomanatee__: I'd love to see you pass off your coding issues to a client by blaming dollar signs (or their absence.)
[01:14] isaacs has joined the channel
[01:14] sechrist: SubStack: you may want to adapt the happy purring cat test -- I wasn't exactly sure what it was doing
[01:14] sechrist: the reason it broke was because sys.inspect(buffer) provides Buffer<> stuff now
[01:14] mlu: lol -- "you see, these $ signs in the code indicates my need for more $$$ -- pay up and you'll get working code, hopefully"
[01:15] bingomanatee__: The world is not enough.
[01:15] sechrist: I need a better list of companies that use node in production
[01:16] sechrist: one of our investors asked "what is nodejs and who is using it"
[01:16] halfhalo: that one company does
[01:16] sechrist: my answer wasn't good
[01:16] sechrist: all I could say is plurk
[01:16] bingomanatee__: Say Facebook.
[01:16] halfhalo: palm?
[01:16] sechrist: facebook is using njs now?
[01:16] sechrist: ooh palm
[01:16] sechrist: right!
[01:16] bingomanatee__: By the time they verify one way or another the contract will be over.
[01:16] mlu: I'd say - "not many companies are using it yet, but we are on the cutting edge"
[01:16] halfhalo: well, hp
[01:16] halfhalo: go with hp since it sounds bigger
[01:17] sechrist: mlu: that scares them.. we have a ridiculous SLA and we're enterprise aimed
[01:17] SubStack: if a lot of companies aren't using something that is better than if a lot of companies are
[01:17] sechrist: they were scared about django instead of enterprise java
[01:17] isaacs_ has joined the channel
[01:17] mlu: sechrist: Google
[01:17] bingomanatee__: Come on - Facebook has 300 + programmers -- do YOU want to find out what each and every one of thejm are using to solve problems?
[01:17] bingomanatee__: Or say Ebay. Even better.
[01:17] SubStack: sechrist: those investors sound way too micromanaging
[01:17] bingomanatee__: Nobody knows what the hell is going on in Ebay.
[01:17] sechrist: I have to back up the company name with how they have it implemented
[01:17] sechrist: for decent discussion
[01:17] bingomanatee__: They use it to manage their internal logs.
[01:18] SubStack: also what kind of investors prefer companies that use java?
[01:18] halfhalo: fake some google web pages!
[01:18] sechrist: okay
[01:18] halfhalo: Bingo!
[01:18] mlu: I believe part of the infrastructure powering google docs is based on node.js, since the technology originally came from Etherpad, which was written on top of node.js
[01:18] sechrist: also I can't lie about what facebook is doing
[01:18] sechrist: accel is one of ours as well
[01:18] bingomanatee__: Or they keep track of their Foosball ladder.
[01:18] bingomanatee__: You can always call it a CommonJS library -- that gives you a wider pool to draw on.
[01:18] sechrist: uh huh
[01:18] mlu: but yeah, even if it's enterprise-aimed, it's still a selling point: sure, it hasn't been time-tested, but you have reason to believe why it'd be stable and more scalable
[01:19] sechrist: time tested is a lot less important in this kind of community
[01:19] mlu: hence, you spin it in the direction that your company is being one of the first in the field -- no competitors
[01:19] sechrist: kickass unit tests take away that need
[01:19] sechrist: but it's hard to explain that
[01:20] mlu: if you can't get it across to those investors, they aren't worth your time
[01:20] mlu: you know why many investors fail? it's because they can't see the future
[01:20] sechrist: oh that's not it
[01:20] sechrist: it's just i have to provide a valid argument
[01:20] sechrist: it's not they're against anything
[01:20] MikhX_ has joined the channel
[01:20] SubStack: judging new companies based on the technologies of successful companies 5 or 10 years ago seems really stupid
[01:21] sechrist: they want to know why they are betting their money, and ultimately development time on a new infrastructure called "NODEJS" has to be backed up
[01:21] mlu: valid argument: event-based system allows better scalability, less complexity = less points of failure, etc.
[01:21] SubStack: and anyways, who is a better judge of technology stacks: programmers or suits?
[01:21] sechrist: of course
[01:21] sechrist: but they feed me
[01:21] mlu: some people feed you better than others :P
[01:21] spetrea__: fingers hurtin from so much keyboard jackhammering
[01:21] aaronblohowiak: sechrist: the IT department, or the security consultants
[01:22] aaronblohowiak: :-)
[01:22] spetrea__: mlu: part of google docs is on node.js ?
[01:22] bingomanatee__: "I have been programming in PHP|Rails|Java and have found that like most people in the industry these langauges don't address performance issues that node.js does."
[01:22] spetrea__: ryah: are you working for google ?
[01:22] sechrist: granted most of them are reading hacker news so they know what it is
[01:22] aaronblohowiak: spetrea__: get a buckling-spring keyboard... i used to have constant pain but it went away within two weeks. some people really benefit from longer key action
[01:22] sechrist: they're more wanting to know if I know why we're using it and not just drinking koolaid
[01:22] sechrist: it's a bidirectional question
[01:22] spetrea__: aaronblohowiak: the cherry keyboards are buckling-spring ones ?
[01:23] agilandfast has joined the channel
[01:23] mlu: spetrea__: think so; the company they bought out in order to improve google docs based their core technology on node.js
[01:23] SubStack: just drop the magic line: everybody knows javascript
[01:23] spetrea__: mlu: that sounds pretty awesome :)
[01:23] sechrist: SubStack: not where I work
[01:23] spetrea__: mlu: where would I read news like this about node.js ? I seem to be utterly un-informed
[01:23] mlu: spetrea__: after incorporating some of that, google docs got much more interactive (eg. collaborative editing went down from the 10s scale to the 1s scale)
[01:23] aaronblohowiak: spetrea__: i dont know about cherry keyboards.. http://en.wikipedia.org/wiki/Buckling_spring
[01:23] bingomanatee__: E N J does work - however I would emphasize unparallelled performance.
[01:23] sechrist: I scold people on trailing commas in JSON arrays and shit
[01:23] mlu: spetrea__: this isj ust one isolated case I've heard about
[01:24] aaronblohowiak: sechrist: just require jslint passing as part of your test suite
[01:24] spetrea__: mlu: where did you hear about it ?
[01:24] mlu: I'd imagine Google went: hey, they used node.js, and that really helped in terms of efficiency; and even if they didn't use node.js, at least they probably now have an event engine somewhere on the stack and borrowed lots of the big ideas
[01:24] sechrist: "test suite"
[01:24] bingomanatee__: Or you could just use Rails and when you get performance issues roll in Node.js to solve the problem :D
[01:24] mlu: spetrea__: I joined a group for a programming competition, and the project was to improve on Etherpad, a webapp written on top of node.js
[01:25] mlu: and I found out about this after doing a bit of research on that
[01:25] sechrist: can jslint read javascript out of html templates and stuff?
[01:25] sechrist: actually no it would have to be rendered and tested with the build process
[01:25] sechrist: so that's after the fact
[01:25] confoocious has joined the channel
[01:25] confoocious has joined the channel
[01:25] bingomanatee__: A hybrid approach might be more defensible if you are dealing with that level of micromanagement.
[01:25] sechrist: git hooking js files with jslint exceptions sounds like a good idea if it's possible to implement
[01:26] jamund has joined the channel
[01:26] SubStack: sechrist: 0.0.5 live
[01:26] mlu: I didn't really start looking at node.js seriously though until I Found out that Heroku was hiring people experienced in node.js to develop their next platform
[01:26] sechrist: learnboost really turned me onto it with socketio
[01:26] spetrea__: aaronblohowiak: can I still find those buckling thingies ?
[01:26] SubStack: I just needed a faster way to pump data through a browser than ajax
[01:26] sechrist: but I was trying it out before that -- but socketio just stapled it down as kickass
[01:27] Rixius: mlu: I was watching videos from jsconf and was like JS on the server? Baked with pure Awesome!!
[01:27] sechrist: even my cto kind of drilled me about node
[01:27] sechrist: his first question was "what recent improvements in serverside js make node better than rhino and other previous implementations"
[01:27] sechrist: I said v8 and he was like, alright
[01:28] mlu: at the time, I didn't quite understand the awesomeness of Javascript
[01:28] spetrea__: I've written a jabber bot in node.js, it sometimes disconnects with ECONNECTIONRESET , I've installed a callback on "error" event and still it disconnects that way .. :(
[01:28] sechrist: but some people are concerned about it's debuggability when you get into ridiculous closures
[01:28] sechrist: like chainsaw
[01:28] spetrea__: can't figgure it out ..
[01:29] bingomanatee__: You can throw Douglas Crockford videos at him.
[01:29] SubStack: chainsaw isn't the least of it!
[01:29] spetrea__: bingomanatee__: you think managers resonate with Crockford ?
[01:30] sechrist: well I mean isn't haskell hard to debug?
[01:30] bingomanatee__: If they don't then you aren't likely to sell node in house :D
[01:30] sechrist: coroutine shiz
[01:30] sveisvei has joined the channel
[01:30] DTrejo: Rixius: WHAT HORROR
[01:30] SubStack: sechrist: try debugging a race condition when you don't even know if the callback you get was defined on the server or the client
[01:30] spetrea__: I do node in-house but I'm having a couple of problems with it ... (see above)
[01:30] SubStack: the power is still worth it
[01:30] sechrist: SubStack: aigh
[01:31] mscdex: the Crockford Files!
[01:31] DTrejo: Rixius: his code does all kindsa old browser detection, and the packer depends on his really old library, so I'd have to unravel everything he is using / write it myself
[01:31] bingomanatee__: I am rolling in node under an established platform but in a very narrow spectrum.
[01:31] mscdex: http://i27.tinypic.com/2yzn2u8.jpg
[01:31] sechrist: I mean ryan's argument is that nodejs puts developers in a jail that doesn't let them make low-performance stuff
[01:31] DTrejo: mscdex: do you know of an edward's packer implementation in JS?
[01:31] sechrist: that is kind of true
[01:31] creationix: ACTION is having polishing game demos for node-camp
[01:31] sechrist: but until you get into complex arrangements
[01:31] Druid_ has joined the channel
[01:31] sechrist: your hello-world programmer isn't going to understand race conditions
[01:31] mscdex: creationix: doom.js
[01:32] sechrist: or coroutines
[01:32] SubStack: beginners shouldn't be writing important systems
[01:32] sechrist: true that
[01:32] creationix: hello-world programmers should be confused so that they have incentive to change
[01:32] mscdex: DTrejo: never used that, so i'm not sure
[01:32] SubStack: nor should the grown-up tools need to cator to novices
[01:32] peterwmwong1 has left the channel
[01:32] mlu: advanced developers should still be shielded from stupidity (but not restricted due to it) just as a safety measure
[01:32] sechrist: creationix: when is node-camp, and is it in the bay area?
[01:33] sechrist: I need to bring my guys to some nodecon
[01:33] SubStack: although I think grown-up tools should look superficially like beginner tools
[01:33] creationix: everyone is a diaper poopin, milk drinking baby once in their life, but it shouldn't be a permanent status
[01:33] DTrejo: mscdex: oh. in case you want to know what it is: http://base2.googlecode.com/svn/trunk/src/apps/packer/packer.html (and yes this is JS, but it has all kinda strange stuff in there two)
[01:33] mscdex: DTrejo: although not written in JS, i generally use the google closure compiler
[01:33] SubStack: False sense of security! Oh look, it's just a one-liner... oh wait...
[01:33] creationix: sechrist: it's in sf, but I'm pretty sure it sold out a while back
[01:33] sechrist: damn
[01:33] mlu: eg. I literally put >2000 miles on my bicycle every year, using it as a commuting device, but am I more than thankful I have a helmet when I ride it after a couple all-nighters and have the rare crash
[01:33] creationix: we will put the materials all online
[01:33] DTrejo: mscdex: yeah. I'm working on a JS compression comparison site, so i was thinking I'd have his in there along with gclosure
[01:34] creationix: sechrist: http://camp.nodejs.org/
[01:34] sechrist: " We are looking into options to add more spots – get on the waitlist!"
[01:34] sechrist: noooes
[01:34] sechrist: damn this looks amazing
[01:34] sechrist: ACTION is pissed
[01:34] softdrink has joined the channel
[01:35] sechrist: global tour
[01:35] sechrist: do south bay
[01:35] googol has joined the channel
[01:35] mlu: hmm... camp.node.js -- if only I didn't have two finals that day :/
[01:36] mlu: ACTION is actually in the area too nad has a free bus pass to get there also
[01:36] bingomanatee__: <-- going!
[01:36] DTrejo: mlu: ucb?
[01:37] mlu: DTrejo: yep :)
[01:37] sechrist: creationix: is it likely more space will arrive? and is the wait list super crazy?
[01:37] DTrejo: mlu: nice, you know Eric Zhang?
[01:37] DTrejo: ericzhang.com
[01:37] mlu: think I've heard of him
[01:37] DTrejo: nice
[01:37] creationix: sechrist: not sure, last I heard it was fairly long
[01:37] sechrist: creationix: aka should I get my whole shop to get on the wait-list
[01:37] sechrist: agh
[01:37] creationix: sechrist: but go ahead and get on the list to show interest
[01:37] creationix: just don't count no actually getting a slot
[01:37] DTrejo: mlu: what year are you?
[01:37] mlu: the EECS department is huge -- it's the largest dept on campus
[01:37] naturalethic: is tim teaching all the classes?
[01:37] mlu: but I'm a 3rd year
[01:41] isaacs_: Aria: you around?
[01:42] sechrist: wait 100 seats?
[01:42] sechrist: no wonder it's sold out
[01:43] bingomanatee__: If its hot enough you can be at Microsoft next year - I went to MongoSV and there were about a thousand attendees.
[01:44] isaacs_ has joined the channel
[01:49] davidc_ has joined the channel
[01:49] davidc_ has joined the channel
[01:50] Aria: I am, isaacs
[01:50] isaacs: Aria: care to read over the last comment here? https://github.com/isaacs/npm/issues/#issue/294
[01:50] isaacs: re: sudo usage in npm
[01:50] sechrist: I still use sudo for npm
[01:50] isaacs: sechrist: it'll be safe eventualy
[01:50] sechrist: I need system-level npm packages
[01:51] sechrist: so chowning /usr/local isn't viable in production
[01:51] sechrist: ah, ok
[01:52] isaacs: it'd be nice if node had a built-in way to specify a user for a spawned child_process
[01:52] sechrist: it doesn't
[01:52] sechrist: ? that sounds like a required feature
[01:52] isaacs: no
[01:52] bruse: how about setuid and then spawn a child_process?
[01:52] isaacs: i mean, you can just do child_process.spawn("sudo", ["-u", "whoever", your, program, here] ...)
[01:53] isaacs: bruse: yeah, but then you'er stuck as that user for the rest of the process.
[01:53] bruse: indeed
[01:53] isaacs: so i need to spawn, downgrade, then do stuff there. which means splitting up all the nobody-user stuff into separate commands and such. it'll be good cleanup, though, i think
[01:55] ph^ has joined the channel
[02:01] yozlet has joined the channel
[02:02] Rixius: isaacs: what would you think of a docs: {type: "markdown": folder: "./docs"} in the npm json, and have some funcionality similar to gem server?
[02:02] wao: u/w 40
[02:02] isaacs: Rixius: "directories" : { "docs" : "./docs" }. Markdown or HTML is assumed.
[02:02] isaacs: Rixius: evanmeagher is working on a doc generation thingie.
[02:03] isaacs: Rixius: also, have a README.md or README.markdown if it's markdown, or .html for html, or no extension for plain text.
[02:03] micheil: hmm.. '
[02:03] isaacs: then: doc.npmjs.org/// will show the README, with links to the other files in your doc folder.
[02:04] isaacs: micheil: if you wanna get involved in that, go nuts :)
[02:04] micheil: what?
[02:04] isaacs: micheil: the doc generation thing
[02:04] isaacs: micheil: you've done a great job with the node docs
[02:04] micheil: no, I'm just wondering if someone has just linted all the tests.. that was going to be what I could work on tomorrow in flight.
[02:05] isaacs: ahh, yeah, that'd be great.
[02:05] micheil: looks like it's been done though.
[02:05] isaacs: o, kewl.
[02:05] maushu_ has joined the channel
[02:05] isaacs: ok, it's steak and starwars time. have a good night.
[02:05] MikhX has joined the channel
[02:06] mikeal has joined the channel
[02:06] Rixius: isaacs: one of my favorite things bout gem server is that it runs locally; so you don't have to be in your internet source
[02:06] micheil: isaacs: that jslint thread is getting to be a bit over the top.
[02:08] DTrejo: lintlintlint
[02:09] sechrist: So with Buffer::Data(v8obj) required now, do I have to re-wrap the buffer after it's been unwrapped? data_ is private
[02:09] ryah: some should put https://github.com/mnot/htracr on npm
[02:11] sechrist: ryah: to patch this, is there another way to access the data without re-wrapping? or is there a way to access the v8 object after unwrapping? https://gist.github.com/728693
[02:11] sechrist: I know Buffer::Data is the member now, but in this context I'm not exactly sure what it should do
[02:12] mike_mayo1 has joined the channel
[02:12] ryah: sechrist: hm hard for me to understand this code
[02:12] ryah: can you link to the whole file?
[02:12] ryah: sechrist: but - buffer->handle_ gives you the v8 object
[02:12] sechrist: ryah: https://github.com/exslim/node-protobuf/blob/master/protobuf_for_node.cc#L371-380
[02:13] sechrist: ahh that may be it
[02:13] mklappstuhl: can anyone point me to some bigger (than todos) apps built with backbone? /cc jashkenas-work
[02:14] ryah: isaacs: i thought npm ls does descriptions now?
[02:14] mikeal: ryah: who made the node.js logo?
[02:14] isaacs_ has joined the channel
[02:15] ryah: mikeal: another michael
[02:15] ryah: from germany
[02:15] ryah: aka flashvid, flashmike
[02:15] mikeal: I need a version that says node.conf
[02:16] strmpnk has joined the channel
[02:16] sechrist: xD
[02:16] mikeal: i'm putting together the website
[02:16] ryah: mikeal: "Michael" ,
[02:16] mikeal: so we can make an announcment
[02:16] ryah: he's MIA for the last year though
[02:17] sechrist: crack open photoshop
[02:17] mikeal: i suck at photoshop
[02:17] micheil: mikeal: if a typeface is used, you could probably just find it quite easily
[02:17] mikeal: i just spent 20 minutes with pixelmator
[02:17] mikeal: couldn't make anything wokr
[02:18] micheil: mikeal: -1 photoshop for logos +1 illustrator for logos
[02:18] bingomanatee__: what are you trying to accomplish - omnigraffle is more stable for diagrams/wireframes.
[02:18] a_meteorite has joined the channel
[02:18] mikeal: the spacing between letters makes me think it's not a font
[02:18] micheil: things can be re-kerned'
[02:18] sechrist: sounds like the solution is a new node.JS logo with an open source project file
[02:18] sechrist: ACTION >.>
[02:18] mikeal: hehe
[02:19] mlu: I'd just trace the node.js logo if I were you
[02:19] micheil: ACTION does have a proposal on that sechrist
[02:19] mlu: inkscape :)
[02:19] sechrist: photoshop out the JS, put the node as it's own layer
[02:20] sechrist: and try your hardest to get a similar CONF
[02:20] ryah: seems like tj is working on a sweet new streaming json parser
[02:20] micheil: sechrist: http://dribbble.com/shots/55813-Node-js-Logo-Concept
[02:20] ryah: im excited
[02:20] sechrist: the current logo goes very well with the current documentation style
[02:20] mscdex: i thought node.conf was a file!
[02:20] mscdex: :>
[02:20] bingomanatee__: mikeal - i have photoshop - and years in photoretouching. email the file to dave@wonderlandlabs.com and tell me what you need.
[02:20] sechrist: Joyent doesn't have an army of designers to throw at this?
[02:21] mikeal: only file i know of is on this page
[02:21] mikeal: http://nodejs.org/
[02:21] micheil: that was done in light of another proposal..
[02:21] bingomanatee__: what exactly do you want done with their logo.
[02:22] sechrist: I think a font with low letter spacing and a filter for the border wouldn't be too difficult
[02:22] sechrist: might not be 1:1 pixel matching but close enough
[02:22] sechrist: we need node-logogen for generating node-js style logos for other projects
[02:23] mlu: sechrist: according to Identifont, it seems like the font is CG Claire News Light
[02:23] mlu: you may have to play around with spacing / kerning though
[02:23] sechrist: There's something that does OCT to detect fonts?
[02:23] sechrist: holy shit
[02:23] bingomanatee__: so you want the words "node.conf" in a similar font as the node log?
[02:23] sechrist: OCR*
[02:23] MikhX has joined the channel
[02:23] mlu: sechrist: it's more like 20Q
[02:23] sechrist: ah
[02:24] sechrist: is it this font? no. is it this font? no. this one? -sigh-
[02:24] mlu: you know how to do 20Q -- you don't ask in that sequence
[02:24] mlu: you have to ask questions that eliminate a good portion
[02:24] mlu: (eg. what do the serifs look like? what are the slants like? shape of the hump on the d?)
[02:25] sechrist: so in a sense it is ocr
[02:25] sechrist: i'll go play with it
[02:25] strixv has joined the channel
[02:25] micheil: yeah, whatthefont found nothing..
[02:25] Aria: Looks good, isaacs, if you're committed to installation being able to run code.
[02:25] mlu: according to the result, it seems like that person used that font and then traced the outline with a round stroke
[02:25] mlu: in any case, it's close enough to pass
[02:25] sechrist: human ocr
[02:25] Aria: (I like what Solaris did and just made ips unable to run commands during install -- predefined things or unpack files only.
[02:25] Aria: )
[02:26] mlu: people try to approximate Helvetica with Arial, and even though I consider that woefully inadequete
[02:26] mlu: you'd at least get more than close enough with the results you get, if any
[02:26] sechrist: Aria: that's what I was thinking. if npm is safe to run as root, have npm "api" for unpacking files
[02:26] mlu: and based on the questions asked, you won't get Arial as a result when what you're looking for is Helvetica due to slants
[02:26] sechrist: so people's packages don't hax system
[02:27] mlu: sechrist: also, it looks closer to Berlidin after looking through their results
[02:28] sechrist: if it is that close who cares
[02:28] cagdas has joined the channel
[02:29] jashkenas-work: mklappstuhl: I don't have any links for anything very large yet ... but do you have a specific question?
[02:30] dannycoates has joined the channel
[02:30] jashkenas has joined the channel
[02:31] sechrist: mlu: if it's berlidin it's a fat one
[02:32] mlu: sechrist: yeah, hence the stroke suggestion -- it makes it fatter
[02:32] mlu: not to mention, professional fonts usually come in like 20 different weights instead of two
[02:33] micheil: oh, wow, cool; mnot is an aussie :D
[02:35] siculars__ has joined the channel
[02:37] mike_mayo has joined the channel
[02:37] abiraja has joined the channel
[02:38] dgathright has joined the channel
[02:39] softdrink has joined the channel
[02:40] rauchg_ has joined the channel
[02:40] agnat has joined the channel
[02:40] jamund has joined the channel
[02:43] yozlet has joined the channel
[02:45] isaacs has joined the channel
[02:50] Rixius: is there any gage on when Proxy's might make it into v8?
[02:50] dannycoates has joined the channel
[02:51] Rixius: http://wiki.ecmascript.org/doku.php?id=harmony:proxies
[02:51] ysynopsis has joined the channel
[02:52] ryah: Rixius: never
[02:52] mikeal: Rixius: *if* they do
[02:52] mikeal: it's years out at the earliest
[02:52] mikeal: the v8 guys are resistant toward all the harmony stuff
[02:52] mikeal: with some good reason
[02:52] Rixius: That's very saddening, since Firefox 4's Spidermonkey? are using it to test out potential JS stuff
[02:53] mikeal: spidermonkey takes every feature anyone else thinks of
[02:53] davidc_ has joined the channel
[02:53] jashkenas: Rixius: it's a really good thing that V8 isn't jumping on spidermonkey features ... a lot of that stuff is half-baked.
[02:53] Rixius: I love having the catch all magic __call sort of functionality
[02:54] mikeal: v8 doesn't like implementing new "modes"
[02:54] mikeal: even strict mode sucks
[02:54] mikeal: it forks all the optimizatinos
[02:55] Rixius: mikeal: like what?
[02:55] ryah: Rixius: magic is over rated
[02:56] mikeal: check out the perfomance impact of using gettrs and settrs
[02:56] mikeal: in current v8
[02:56] mikeal: it's like you're running in slow mode
[02:56] jimt has joined the channel
[02:56] jashkenas: getters and setters also make it way harder to reason about the side effects of your code.
[02:57] mike_mayo has joined the channel
[02:57] Rixius: I made a fun PHP class that took a __call to make elements, so I didnt go out of my way to make functions like ->div etc, just mapped them all to a ->element functin
[03:00] mikeal: jashkenas: agreed
[03:01] jashkenas: mikeal: that's probably the main reason why they slow down v8 so much ... there are a million places in coffeescript where we'd have to start caching local variables all over the place if getters and setters were included.
[03:02] aaronblohowiak: jashkenas: you're amazing! thanks for all the open source
[03:03] jashkenas: thanks much.
[03:04] aaronblohowiak: personally, i'm a fan of the () //get (val) //set style
[03:05] mikeal: i don't think v8 went out of their way to make getter and setters slow
[03:05] mikeal: it's just a features that doesn't lend itself well to optimization
[03:05] InsDel has joined the channel
[03:05] softdrink has joined the channel
[03:15] isaacs_ has joined the channel
[03:20] sechrist: man I can't for the life of me get protobufs working in node 3
[03:21] ryah: sechrist: is it the buffer stuff? :/
[03:21] b4 has joined the channel
[03:21] sechrist: yeah
[03:21] ryah: i perhaps need to write a guide for upgrading from the old stuff
[03:21] ryah: i've had several other complains
[03:22] sechrist: well I am not the best person to do this -- I've never written a nodejs c module
[03:22] sechrist: however matthias already did this apparently in the "node3" branch of the project
[03:22] sechrist: and it's segfaulting at the same place my patches did
[03:22] ryah: hm
[03:22] sechrist: http://code.google.com/p/protobuf-for-node/source/browse/?r=6078a62e74d402a6adb83ca5af95d188e9a90e4b
[03:23] sechrist: I didn't realize he already did this until I already tried patching it myself
[03:23] sechrist: but now I'm just trying to get his branch working and same problem
[03:23] b4: I am running node.js on a SunOS machine without anything but repl the memory usage increases. The machine is hosted at Joyent. Memory usage starts around 14M and keeps increasing within 3 hours it increased to 300MB+ while idle all the time. I am using 0.3.1. Anyone has any idea?
[03:24] sechrist: with just repl running?
[03:24] sechrist: being idle?
[03:24] spoobie has joined the channel
[03:24] b4: yes
[03:25] b4: it's now 469M --> 22263 admin 1 59 0 469M 9112K sleep 0:01 0.00% node
[03:26] paulrobinson has joined the channel
[03:26] sechrist: hah, yeah, matthias did functionally the same patch I did
[03:26] sechrist: so this makes sense now
[03:27] ryah: b4: rss?
[03:27] b4: what does rss mean?
[03:27] ryah: b4: that's a bug in prstat
[03:28] ryah: it's actually at 9mb memory
[03:28] b4: I use top command
[03:28] ryah: i think top is aliased to prstat
[03:28] b4: so nothing to worry? Can you point me an article or anything about this issue?
[03:29] ryah: b4: i don't have a link - but we're upgrading to a new version soon and i think this bug goes away
[03:29] ryah: b4: do process.memoryUsage() from the repl
[03:30] b4: ok
[03:30] jacobolus has joined the channel
[03:31] creationix has joined the channel
[03:32] b4: thanks for the info, I will add that to my logs
[03:32] yozlet has joined the channel
[03:33] sechrist: man this is crashing on the initial proto schema load
[03:33] b4: It's a background process, I can not type memoryUsage, but I will do with restarting another one.
[03:34] ryah: b4: oh - right.
[03:35] muk_mb has joined the channel
[03:35] jakehow has joined the channel
[03:35] sechrist: ryah: did any of this buffer stuff affect v8::Object::SetInternalField?
[03:36] ryah: no... but you should be sure you're getting the same object when you do GetInternalField
[03:36] ryah: there are two types of buffers now
[03:36] sechrist: the segfault is on setInternalField
[03:36] sechrist: so there's no way to do that
[03:37] sechrist: this is probably nonhelpful but https://gist.github.com/728741
[03:39] brianmario has joined the channel
[03:39] softdrink has joined the channel
[03:39] saikat has joined the channel
[03:43] sechrist: oh! previous install put a library in /usr/lib
[03:43] sechrist: and it wasn't part of the wscript of this branch
[03:43] sechrist: there's no problem now with his branch
[03:44] sechrist: yay node3 protobufs
[03:44] megana has joined the channel
[03:45] galaxywatcher has joined the channel
[03:46] mikeal has joined the channel
[03:47] ryah: sechrist: nice
[03:54] davidascher has joined the channel
[03:54] alexfner has joined the channel
[03:55] mike_mayo: isaacs: I've got a buddy trying to run npm bundle and getting the following error: http://pastie.org/1348600 Any suggestions?
[03:57] MattDiPasquale has joined the channel
[03:57] b4: ryah: process started with SIZE=13M and now 27M, I did memoryUsage and rss=9388032, vsize=112295936, heapTotal=2734816, heapUsed=1731844, thanks for the answer
[03:57] megana: mike_mayo maybe your clock is set wrong
[03:59] jpld has joined the channel
[04:01] ryah: b4: good, glad it's not a bug :)
[04:01] Aria has left the channel
[04:01] micheil: hmm..
[04:02] Aria has joined the channel
[04:03] b4: ryah: and I am glad that there's a responsive creater and community. Thanks again.
[04:04] peterwmwong has joined the channel
[04:04] tilgovi has joined the channel
[04:05] rauchg_ has joined the channel
[04:07] twoism has joined the channel
[04:10] b4 has left the channel
[04:15] dgathright has joined the channel
[04:16] erlnoob has joined the channel
[04:17] isaacs_ has joined the channel
[04:23] mikeal has joined the channel
[04:23] davidascher has joined the channel
[04:27] softdrink has joined the channel
[04:27] jwl: i have an async function that executes 2 shell commands .. i want to do something AFTER those 2 shell commands are executed but it seems to be impossible in the way node.js is working
[04:28] jwl: cause those 2 commands are executed in parallel ... there is no way to register a handler that is executed after both of them are executed .. any ideas?
[04:28] dgraunke has joined the channel
[04:32] peterwmwong: jwl: are you doing to seperate child_process.execs?
[04:32] Pilate: sure, you could set event callbacks on both
[04:32] swistak has joined the channel
[04:47] isaacs_ has joined the channel
[04:52] mattcodes has joined the channel
[04:57] saschagehlich_ has joined the channel
[05:04] jamund has joined the channel
[05:08] Nohryb has joined the channel
[05:09] dannycoates has joined the channel
[05:12] hornairs has joined the channel
[05:14] megana has left the channel
[05:14] masahiroh has joined the channel
[05:15] DTrejo: if I add a name record to map *.mydomain.com to mydomain.com, then will my node server be able to handle those requests and proxy them to the correct apps?
[05:15] DTrejo: (if I am using node-http-proxy)
[05:17] Aria: Yes, if you tell it how
[05:17] MikhX has joined the channel
[05:17] Rixius has joined the channel
[05:17] svnlto has joined the channel
[05:17] DTrejo: Aria: do you mean that if I have my routing tables right in http-proxy, then it will work?
[05:17] chrischris has joined the channel
[05:17] DTrejo: (also, thanks for responding)
[05:18] Aria: Should!
[05:18] isaacs has joined the channel
[05:18] Aria: It has to get to the right IP, DNS aliasing should do that.
[05:18] DTrejo: Aria: awesome! let me go try :)
[05:18] Aria: Then the http proxy just has to look at the Host: headers in each request to route.
[05:18] DTrejo: oh hmm.. I have to wait for the *.mydomain.com record to propogate
[05:18] DTrejo: :|
[05:19] Aria: If your computer/dns cache hasn't looked recently, there should be no propagation time.
[05:19] Aria: (It's not a propagation time, actually: It's a cache timeout.)
[05:19] Aria: (if you dig therecordyouwanttolookat, the number on each row is the remaining TTL for the value it's got.)
[05:19] DTrejo: hmm
[05:20] DTrejo: wait but first I need to make a *.mydomainname.com record that points to mydomainname.com, correct?
[05:20] Aria: Yes. (A CNAME, usually.)
[05:20] Aria: Assuming your DNS server expands wildcards. (Bind does, and powerdns can if it's enabled)
[05:21] DTrejo: hmm, I am using webbynode.com, so I'm not sure
[05:22] jwl: peterwmwong1: yeah i am .. had it solved now
[05:22] jwl: i used a counter :)
[05:22] DTrejo: Aria: http://grab.by/7Jp4
[05:23] Aria: Sounds good. That's a one-day TTL. I use more like one hour myself.
[05:23] jwl: totalTasks and doneTasks
[05:23] Aria: (3600 seconds)
[05:24] DTrejo: Aria: thanks :), setting it up now. I also found a guide about this from webbynode, so I'll read that too just in case I'm missing something
[05:24] Aria: Sweet. DNS gets treated like rocket science entirely too often.
[05:25] Aria: A good habit to get into is to make your changes, then test, and test directly querying the authority server.
[05:25] DTrejo: hehe, I think that's because my developers deal with it so infrequently
[05:25] Aria: That way you never pollute your DNS cache with wrong values that then have to time out.
[05:25] Aria: (dig record @nameserver is querying the authority server directly. "dig record" alone asks your upstream nameserver, which will then cache.)
[05:26] whyme has joined the channel
[05:27] DTrejo: Aria: in the .data section I would put in dtrejo.com?
[05:27] DTrejo: or the ip address of the server
[05:29] alexfner has joined the channel
[05:30] Aria: dtrejo.com
[05:30] Aria: CNAMES always point to other names.
[05:30] DTrejo: ooh, ok thanks
[05:31] Aria: ("for anything.dtrejo.com, say that its canonical name is really dtrejo.com")
[05:31] Aria: (PTR, MX, NS and CNAME point to names; A points to IP (v4), and AAAA points to IP (v6))
[05:32] mikew3c has joined the channel
[05:32] DTrejo: thanks for the information
[05:33] DTrejo: another random question: is it safe to use dreamhost as my registrar?
[05:33] Aria: (the * only exists inside the DNS server, by the way -- it never gets transmitted. You ask for foo.dtrejo.com, the DNS server just pretends it has a record for foo.dtrejo.com that happens to be the same as bar.dtrejo.com, etc.)
[05:33] Aria: I've never heard complaints there. Though registrars integrated with hosting are often a pain when you go to switch away in place.
[05:34] dgathright has joined the channel
[05:34] DTrejo: (I never really used them for hosting, I just have my names with them)
[05:34] Aria: (Then no big deal. I just know that records often get screwed up when hosting registry and dns are all in the same place, an you cancel one of the three.)
[05:35] DTrejo: oh yeah, I see your point
[05:35] DTrejo: they delete everything you have with them, and then stuff like your gmail gets messed up
[05:35] DTrejo: NICE
[05:35] DTrejo: it's working already
[05:36] Aria: Yep.
[05:36] Aria: Yay!
[05:36] DTrejo: http://hdos.dtrejo.com/
[05:36] Aria: There's no reason DNS can't be ~instant.
[05:36] Aria: Even .com registration is up within 2 minutes.
[05:36] Aria: Nice start at a page, too.
[05:36] Aria: Very nice.
[05:36] DTrejo: so juiced to try out http-proxy and get it to proxy subdomains to my various apps :)
[05:37] benburkert has joined the channel
[05:37] DTrejo: then I can host the javascript compressor comparison site I just semi-finished
[05:47] naturalethic: DJTrejo where are you sourcing your music on mixest?
[05:48] DTrejo: blogs across the internet
[05:48] DTrejo: heh I like how you wrote DJTrejo
[05:48] naturalethic: haha that was an accident, neat
[05:48] slaymer has joined the channel
[05:49] naturalethic: i look forward to giving this mizest thing a good run
[05:49] peterwmwong has left the channel
[05:49] naturalethic: *x
[05:55] DTrejo: naturalethic: :) hope you like it
[05:58] erlnoob has joined the channel
[06:05] naturalethic: DTrejo: music discovery is actually one of my bigger interest, but i haven't done any programming to that end yet
[06:06] naturalethic: DTrejo: are you linking directly to the source website for the song stream? because several of these don't play
[06:08] timemachine3030 has joined the channel
[06:08] DTrejo: naturalethic: hmm, that's strange
[06:08] DTrejo: naturalethic: no, we don't hotlink
[06:09] DTrejo: naturalethic: html5 audio with flash fallback, so I dunno what's going on
[06:09] xonecas has joined the channel
[06:12] naturalethic: DTrejo: actually I think if I have the tab in the background it won't start the next song when the last one ends, i'm using safari
[06:13] timemachine3030: I'm trying to stream a file from the network to local disk. Is it safe to call fs.write() from http.ClientResponse 'data' event? or do I need to worry about my data getting out of order?
[06:13] DTrejo: oh damn, we had that but at one time, but I guess it never got fixed :|
[06:13] DTrejo: *bug
[06:13] ryanf has joined the channel
[06:14] naturalethic: hmmm.. no I was just on the page and hit next, no go -- could be my shitty internet too, which has trouble making connections sometimes, so probably better to just not rely on my experience
[06:14] naturalethic: except that for people like me you could make it retry :)
[06:15] DTrejo: does it work when you refresh?
[06:15] DTrejo: yeah you're right, we should consider doing that
[06:15] naturalethic: i haven't tried refreshing the page, if i hit next a couple times i'll get one, but then i feel like i've missed out on the ones i skipped
[06:15] naturalethic: can't go back
[06:16] naturalethic: normally i'd probably jigger next a bit, then hit back few times to get where i was
[06:16] naturalethic: like smacking a jukebox
[06:16] davidascher has joined the channel
[06:17] naturalethic: but I *do* have intermittent network problems, so my case my be unusual
[06:18] DTrejo: naturalethic: do you see the recently listened list?
[06:18] DTrejo: (though you're right it disappears after you refresh)
[06:23] DTrejo: is it a good idea to use npm to manage deps for deploying sites?
[06:28] DTrejo: probably not I'm thinking?
[06:31] mike_mayo has joined the channel
[06:34] murz has joined the channel
[06:35] linac has joined the channel
[06:39] isaacs_ has joined the channel
[06:39] naturalethic: DTrejo make the "mixest" logo link to the home :)
[06:40] mscdex: timemachine3030: will any other connection be writing to the same file or just that one?
[06:40] timemachine3030: just one.
[06:40] MikhX has joined the channel
[06:43] naturalethic: DTrejo: i was on the faq page so i didn't see the just listened at that time
[06:43] DTrejo: yeah, tabs may not be the best option for the site
[06:44] naturalethic: it's not starting songs more than my network difficulties would suggest so i think it needs a little work, but i like it!
[06:46] tilgovi has joined the channel
[06:47] GasbaKid has joined the channel
[06:53] sepehr has joined the channel
[06:54] MikhX has joined the channel
[06:54] masahiroh has joined the channel
[06:55] galaxywatcher has joined the channel
[06:55] yumike has joined the channel
[06:57] DTrejo: Aria: hey, so I have things mostly set up
[06:57] Aria: Sweet!
[06:58] HAITI has joined the channel
[06:58] DTrejo: dtrejo.com:8081 works, and serves the site
[06:58] HAITI has joined the channel
[06:58] DTrejo: except compresscompare.dtrejo.com does not work
[06:58] DTrejo: https://gist.github.com/728894
[06:58] DTrejo: that is my server, which proxies to the other server
[07:00] DTrejo: Aria: don't press compare, b/c for some reason java is not set up right on that server, and when it runs yui, the pipe breaks
[07:01] Aria: Hm
[07:01] MattDiPasquale has joined the channel
[07:01] HAITI has joined the channel
[07:01] HAITI has joined the channel
[07:01] naturalethic: DTrejo: why don't you open source mixest?
[07:02] DTrejo: Aria: could it be because when I auto-set up the dns, it used an A-record instead of a cname?
[07:02] DTrejo: I might as well go make the cname now anyway right?
[07:02] DTrejo: naturalethic: we could.. we might as well I suppose, or we could try to sell it and then open source it
[07:02] Aria: Gets the same IP anywy.
[07:02] DTrejo: I dunno what we'll do
[07:03] DTrejo: Aria: oh so it doesn't matter, hmm
[07:03] Aria: Yeah, no.
[07:03] DTrejo: Aria: should the routing table use localhost instead of 127.0.0.1:8081
[07:03] DTrejo: ?
[07:04] Aria: I'm looking at nodejitsu's http-proxy to check that.
[07:04] Aria: (that is the one you're using, right?)
[07:04] DTrejo: I tried to test it locally, but localhost has no *. redirection b/c it has no dns
[07:04] DTrejo: yep
[07:04] Aria: Though node usualyl allows both IP and name in things like that.
[07:05] Aria: It does treat the router keys as a regexp.
[07:05] Aria: So those . are "match any character"
[07:06] dannycoates has joined the channel
[07:07] Aria: Their tests use IP
[07:07] HAITI has joined the channel
[07:07] HAITI has joined the channel
[07:08] DTrejo: Aria: oh, so I should user .dtrejo.com instead of *?
[07:08] DTrejo: to avoid strange interactions
[07:08] Aria: Not in DNS
[07:08] Aria: But it's fine as is, since the . will in fact match a .
[07:08] Aria: Just other things too.
[07:08] ceej has joined the channel
[07:09] sechrist: man node-inspector is awesome
[07:09] sechrist: I just wish it were a little stable out of the box
[07:09] sechrist: seems like every time I install it I have to go patch it
[07:09] Aria: I don't know. This isn't code I'm familiar with, DTrejo -- looks like it should work, but I can't inspect your setup too easily.
[07:09] isaacs has joined the channel
[07:10] Aria: The DNS part is fine -- it gets the right IP, or at least the same IP
[07:10] HAITI has joined the channel
[07:10] HAITI has joined the channel
[07:10] Aria: What's it not working look like for you?
[07:10] DTrejo: thanks for looking anway
[07:10] Aria: Of course!
[07:11] DTrejo: running it locally, it's doing some wierd things, gonna try and figure them out now
[07:11] jacobrelkin has joined the channel
[07:11] DTrejo: namely, when I hit localhost/, it gives me :8081 instead of :8080, even though the routing table says :8080
[07:11] Aria: okey doke. To fake testing locally, you can add entries to /etc/hosts or your OS's equivalent.
[07:11] Aria: Hm.
[07:12] nooder has joined the channel
[07:12] DTrejo: oh that's a good idea
[07:12] Aria: Hehe.
[07:13] robtmr has joined the channel
[07:17] robtmr: does anyone know if there's a node/javascript equivalent to pythons "if __name__ == '__main__'" idiom?
[07:17] robtmr: I'd like to be able to have small libraries double as scripts for testing
[07:18] sechrist: robtmr: don't like expresso?
[07:19] MattDiPasquale has joined the channel
[07:19] maushu_ has joined the channel
[07:19] mscdex: robtmr: maybe you can check if process.argv[0] === 'node' or whatever
[07:19] robtmr: I've used that too - I guess just want to know if it's possible to detect whether the current file has been imported or run
[07:19] mscdex: something like that
[07:20] sechrist: mscdex: not going to work
[07:20] Aria: if(process.argv[1] == __filename)
[07:20] sechrist: ^
[07:20] robtmr: mscdex: but that will be true in both cases - the only difference will be the filename
[07:20] robtmr: Aria: thanks - is __filename automatically set then?
[07:20] Aria: Yes.
[07:21] sechrist: also -- when I run v8 profiler it just shows 98% of my time is spent in "(program)"
[07:21] sechrist: well duh
[07:21] fangel has joined the channel
[07:21] sechrist: this is not very helpful
[07:22] mscdex: well, i was close
[07:24] spoobie has joined the channel
[07:25] spoobie_ has joined the channel
[07:25] dannycoates: sechrist: what are you having to patch in node-inspector?
[07:26] sechrist: dannycoates: this time it was script names
[07:26] sechrist: s.name.split('/') but there wasn't a name so it through an exception
[07:26] sechrist: threw*
[07:27] sechrist: if(!s.name){s.name = 'unnamed';} is what I did
[07:27] sechrist: then it worked
[07:27] sechrist: dannycoates: on another note -- is there some secret to get more information out of the profiler? it's not really showing any functions or anything
[07:28] mikeal has joined the channel
[07:29] dannycoates: sechrist: cpu profiler is pretty lame still
[07:29] sechrist: I actually need to know this because my application is cpu bound right now
[07:29] sechrist: damn it
[07:30] dannycoates: are you spending a lot of time in native code?
[07:31] sechrist: that's an answer for a profiler (but my gut is no, even though it's possible because of protocol buffers)
[07:31] sechrist: it's likely binary serialization in node that is killing it -- but I would like confirmation
[07:32] sechrist: well I mean it's only pegged during a bench mark, but my request handling per second for this message bus is not meeting my goal
[07:35] dannycoates: as the profiler works today, it will only report timing for 'user' code. anything native or 'hidden' will get lumped into (program)
[07:35] sechrist: well that's understandable
[07:35] sechrist: so that IS the case?
[07:36] sechrist: if it's in (program) it's native, there's no grey area?
[07:36] tilgovi has joined the channel
[07:36] mjr_: sechrist: did you figure out your heap profiler issue?
[07:36] sechrist: yeah it's the way the profiler is schlepping data
[07:37] sechrist: dannycoates: so is it v8 itself that needs to be changed to stream that information?
[07:37] sechrist: I mean it seems like a wholesale json parse of a heap is ok and unavoidable, but the json array size probably shouldn't be truncated
[07:37] tyfighter has joined the channel
[07:38] dannycoates: sechrist: its the v8 debugger protocol...
[07:38] sechrist: that's what I thought
[07:38] sechrist: lame
[07:38] dannycoates: but im trying some workarounds
[07:39] sechrist: node ships with v8 so a patch to v8 isn't completely out of the question
[07:40] isaacs_ has joined the channel
[07:40] dannycoates: chrome doesn't use the debugger protocol. node doesn't have to either, but it was the quickest to implement
[07:41] sechrist: chrome as in chrome talking to node-inspector, or chromium itself?
[07:41] dannycoates: chromium
[07:44] dannycoates: sechrist: also, if you ever have fixes for node-inspector i'll gladly accept patches
[07:44] sechrist: oh sure -- I'm not wragging -- sorry to come off confrontational
[07:44] sechrist: it's my fault for not pull requesting :)
[07:44] mjr_: dannycoates node-inspector is really cool, thanks for making it.
[07:45] sechrist: it's the de facto node debugger I think
[07:45] dannycoates: not at all :) I probably use it less than some people. im mostly a node weekend warrior
[07:46] dannycoates: mjr_: thanks!
[07:46] EvanDotP1o has joined the channel
[07:46] mjr_: hey, is there a way to run a program so that it is initially paused until the debugger resumes it?
[07:47] sechrist: break with inspector
[07:47] sechrist: watch danny's video :P
[07:47] sechrist: it's literally the first scene
[07:47] sechrist: mjr_: http://howtonode.org/debugging-with-node-inspector
[07:47] mjr_: ha
[07:47] mjr_: Is it in the docs?
[07:48] dannycoates: mjr_: tried --debug-brk ?
[07:48] mjr_: oh cool, I'll try that.
[07:48] robtmr has joined the channel
[07:48] mjr_: I didn't watch the video yet.
[07:48] sechrist: dannycoates: is it possible to pre-set the "debug for this session only" vs "debug for all sessions"? seems like an archaic thing when talking to a remote service
[07:49] Locke23rus has joined the channel
[07:49] sechrist: I have to click that button every page refresh
[07:50] dannycoates: sechrist: yes, lemme check...
[07:54] dannycoates: sechrist: I can add a config setting, but in the mean time, in front-end/node/Overrides.js you can add `Preferences.profilerAlwaysEnabled = true;`
[07:54] sechrist: ooh cool
[07:55] wilmoore has joined the channel
[07:55] sechrist: is the way the frontend works just using a bunch of webkit-specific javascript apis?
[07:55] dannycoates: yes
[07:55] sechrist: that's awesome
[07:56] cardona507 has joined the channel
[07:59] disappearedng has joined the channel
[08:10] isaacs_ has joined the channel
[08:16] slaskis has joined the channel
[08:16] MikhX has joined the channel
[08:20] Druid_ has joined the channel
[08:23] sechrist: is there a way to get a stack trace when the call stack size is exceeded? :)
[08:23] sechrist: all I see is the print and it exiting
[08:24] mjr_: Is this the "flushing stdout" issue from the list?
[08:25] sechrist: nah this is me being over zealous
[08:26] breccan has joined the channel
[08:26] qFox has joined the channel