[00:01] Evet has joined the channel [00:02] CarterA: Well they do right now. [00:02] CarterA: If the path to the process has spaces in it, it fails. [00:03] admc has joined the channel [00:05] philipharrison has joined the channel [00:07] tilgovi has joined the channel [00:07] Evet: hmm http parser uses ragel [00:07] pkrumins: what is ragel? [00:08] niklasfi has joined the channel [00:08] saikat has joined the channel [00:08] niklasfi: hello. [00:09] svenlito has joined the channel [00:10] Evet: pkrumins: it uses "if", instead of a loop [00:10] niklasfi: how do i put the chunk i get from an http response data event into a buffer? buffer.write(chunk) fails (argument must be a string - even if i specify 'binary' encoding). can i do some kind of buffer.copy? [00:11] dekz has joined the channel [00:14] rictic has joined the channel [00:16] admc1 has joined the channel [00:19] rictic has joined the channel [00:20] stride: niklasfi: buffer.copy exists [00:21] niklasfi: stride: i know but b1.copy(b2) copies b1 into b2 so if chunk from the response is not a buffer that is no good [00:22] siculars_ has joined the channel [00:22] stride: well, it's either a buffer (copy) or a string (write) [00:27] admc2 has joined the channel [00:29] isaacs has joined the channel [00:30] jacobolus has joined the channel [00:31] admc has joined the channel [00:33] rictic has left the channel [00:34] mlins has joined the channel [00:34] xonecas has left the channel [00:35] jacobolus has joined the channel [00:36] opengeard has joined the channel [00:36] Evet has joined the channel [00:38] Qbix1 has joined the channel [00:38] Qbix1: hey [00:38] Qbix1: how do I find out who made facebook-graph-client [00:38] Qbix1: in node [00:38] kylefox has joined the channel [00:39] beawesomeinstead has joined the channel [00:40] kylefox: I'm having a heck of a time trying to get underscore.js and backbone.js working with Node, but I'm sure it's a simple thing to do, right? [00:40] Qbix1: you can't get them to work? [00:40] kylefox: no, i'll show you what i'm trying, one sec [00:41] wdperson has joined the channel [00:42] stride: Qbix1: npm owner ls facebook-graph-client [00:43] rburhum has joined the channel [00:44] kylefox: well this is from the node shell: http://dpaste.com/367487/ [00:45] kylefox: from the root of my app, which has a vendor/ directory containing underscore & backbone [00:46] kylefox: I also just skimmed this article, but it doesn't seem to work either: http://amir.unoc.net/how-to-share-backbonejs-models-with-nodejs [00:46] Nevtus has joined the channel [00:49] mikeal has joined the channel [00:50] matti: I am stuck ... [00:50] matti: How to solve problem with directory creation before writing to a file in this case http://pastebin.com/MCiEURhF. [00:51] matti: This is my n-th attempt, this time with EventEmitter ... [00:51] matti: But still createWriteStream will throw an error even though directory gets created. [00:52] Qbix1: npm owner ls facebook-graph-client [00:52] Qbix1: ah thanks [00:53] konobi: matti: your emit("ready") could happen before the directory is made [00:53] konobi: matti: you want to move that within your mkdir callback after your error checking [00:53] prettyrobots has joined the channel [00:53] matti: konobi: Thank. I am really stuck with this ... [00:54] matti: konobi: And by far not a JavaScript nor node.js guru ... [00:55] konobi: with javascript, if anything could be blocking and you want to do something after that blocking call is done... you should do it within the callback [00:55] ecto has joined the channel [00:55] matti: OMG. [00:55] matti: konobi: It worked. [00:55] matti: ACTION feels dumb ;) [00:55] ecto: hey could anybody help me with smtp? [00:55] konobi: async baby =0) [00:56] matti: konobi: Yeah... :) Sometimes I need to wrap my head around it ... [00:56] matti: konobi: Thanks a million :) [00:56] konobi: np [00:56] ecto: i'm trying to send emails from ec2 with node-mailer through gmail [00:56] ecto: keep getting a timeout [00:56] ecto: i've opened the port [00:56] lukegalea: kylefox: I think I know what's up [00:56] kylefox: lukegalea: yeah? [00:57] kylefox: I just modified the backbone source to require('./underscore) instead of require('underscore'); [00:57] kylefox: and it worked [00:57] lukegalea: isaacs helped me out with a similar problem. When you are vendoring a module, you have to use the *full* path and add it to the require paths [00:57] kylefox: but I obviously would prefer to not be modifying backbone [00:57] lukegalea: when you removed the ./ it is using the "system" module instead of your vendored version. [00:57] isaacs: kylefox: use "node_modules", not "./vendor" [00:57] isaacs: kylefox: you'll be glad later. [00:57] isaacs: trust me [00:57] lukegalea: You need to add: require.paths.unshift(path.join(__dirname, "../vendor")); [00:58] ecto: nobody? [00:58] isaacs: if you rename "vendor" to "node_modules", then you won't need to monkey with require paths in 0.5.x [00:58] lukegalea: isaacs: I'm using both :( node_modules for stuff installed via bundle install, and vendor for my git submodule dependencies. [00:58] isaacs: interesting [00:58] isaacs: you can't just have them live in the same folder? [00:59] isaacs: lukegalea: ^ [00:59] felixge has joined the channel [00:59] kylefox: hmm, interesting, it will automatically load stuff in the 'node_modules' folder? [00:59] isaacs: kylefox: not yet. [00:59] kylefox: ok [00:59] isaacs: kylefox: well, it will, today, if you npm install your module. [00:59] lukegalea: that's a good question.. I didn't even try. I was worried about what npm might do to rogue directories I've shoved in there. [00:59] isaacs: npm will set that up for it [00:59] isaacs: lukegalea: npm assumes that you meant to put that there, and doesn't touch it [01:00] isaacs: lukegalea: if you `npm install` somthing with that same name, though, it'll trample it [01:00] lukegalea: aah. that will simplify things for me .. thanks. [01:00] isaacs: lukegalea: the filesystem is 100% of npm's knowledge about the file system [01:00] matbee has joined the channel [01:00] lukegalea: kylefox: The other prob with your code snippet is you need to assign underscore to something AFAIK. ie. var _ = require('underscore') [01:00] lukegalea: I don't think underscore tramples the global namespace in any way. [01:01] kiddphunk has joined the channel [01:01] isaacs: np [01:01] kylefox: hm. okay. [01:02] lukegalea: kylefox: I can't help re: backbone though.. [01:02] lukegalea: I'm guessing if you can solve those other issues the backbone stuff will slide into place ;) [01:03] lukegalea: As an aside, damn I'm looking forward to Nodeconf. That was touch and go there trying to get a ticket in time. [01:03] lukegalea: How many tickets were sold in the end? [01:03] curtischambers has joined the channel [01:03] broofa has joined the channel [01:05] kylefox: sweet, it works! [01:05] kylefox: had to do this though: require.paths.unshift(path.join(__dirname, "./vendor")); [01:05] kylefox: ../vendor was going up one too many directories, heh [01:05] kylefox: and fyi, backbone attempts to require('underscore') if this._ isn't present [01:05] lukegalea: kylefox: oh, sorry, I pasted from one of my tests [01:06] lukegalea: you can just remove the ./ entirely [01:06] kylefox: so all I need to do now is var Backbone = require('backbone') [01:06] kylefox: which is awesome [01:06] isaacs: kylefox, lukegalea: why not just `npm bundle install backbone` and then do require("../node_modules/backbone")? [01:07] kylefox: isaacs: heh [01:07] kylefox: because i've never seen that before ... :) [01:07] isaacs: heh [01:07] isaacs: is underscore listed as oneof backbone's deps? [01:07] kylefox: `bundle` just installs it into your current directory or something? [01:07] kylefox: isaacs: yep, it is [01:07] isaacs: npm bundle does the command in ./node_modules, yes [01:07] lukegalea: In my case I have a whole lot of bundled modules.. so I don't want to go through all my code and add the node modules ref. I'd rather just do it once. [01:08] isaacs: lukegalea: suresure. [01:08] lukegalea: but ya, kylefox has only one. [01:08] matti: konobi: Maybe you know some library which I could use to send / server bigger static files? [01:08] isaacs: and, like i said, eventually "node_modules" will be in the require lookup path automatically anyway [01:09] isaacs: matti: check this out: `npm ls static` [01:09] flippyhead has joined the channel [01:09] matti: isaacs: Oh, thanks... Looking now. [01:09] isaacs: matti: np [01:10] jakehow has joined the channel [01:11] bingomanatee: noogle is about to get nicktastic [01:12] liar has joined the channel [01:12] ornicar has joined the channel [01:13] matti: isaacs: I do not have npm :< But I've found something called "paperboy" in Google -- was that it? [01:13] matti: isaacs: Haha, and I believe this http://howtonode.org/introduction-to-npm was written by you? :) [01:13] isaacs: matti: you should install npm. it makes it really easy to find and play with node programs. but here's an npm package search website: http://search.npmjs.org/ [01:13] isaacs: matti: yeah, npm was written by me, too ;) [01:14] matti: Oh ;] [01:14] matti: isaacs \o/ [01:14] isaacs: i didn't write http://search.npmjs.org Thats' some couchdb wizardry from Mikeal [01:15] matti: isaacs: I will, I am just using local build of node.js to learn and experiment. [01:15] mikeal: most of the magic is on the client side with jquery [01:15] matti: mikeal: :) [01:15] isaacs: mikeal: THE MAGIC IS IN YOU! [01:15] mikeal: haha [01:17] matti: mikeal: I guess this is not correct URL (upon searching in npmjs.org :): http://packages:5984/node-static/-/node-static-0.5.3.tgz [01:17] mikeal: oh yeah, that's a bug i need to fix [01:18] isaacs: matti: the proper hostname there is registry.npmjs.org [01:18] mikeal: that's the data [01:18] matti: isaacs, mikeal: Yes, Google helped :) http://registry.npmjs.org/node-static/-/node-static-0.5.3.tgz [01:18] matti: Thanks folks :) You are the best ;] [01:19] mikeal: it's from a migration a while back [01:19] isaacs: the bug's really in my data, not in mikeal's app. but the data isn't going to get fixed ever [01:19] isaacs: ok, motivation time. have fun, guys [01:19] mikeal: it's a really easy fix in the client [01:20] warz has joined the channel [01:21] fairwinds has joined the channel [01:21] Me1000 has joined the channel [01:25] wkmanire has joined the channel [01:25] wkmanire: Howdy folks. [01:26] mjr_ has joined the channel [01:26] liar has joined the channel [01:29] aaronblohowiak: hi [01:30] phed__ has joined the channel [01:32] mike5w3c_ has joined the channel [01:40] hassox has joined the channel [01:41] CarterA: None of the core devs really pay attention to the buildbot, do they? [01:42] statenjason has joined the channel [01:42] Metapony: I've got a quick, perhaps common, perhaps strange question. I' [01:44] matti: Ah. [01:45] Metapony: er... I'm following the "let's build a web app" series on dailyjs.com and was trying to run the latest git of nodepad (that he's been developing in the series) but i'm getting a domain name not found error, which has me thinking that somehow I've got mongodb installed all wrong somehow... (because it'd use mongodb://localhost...) but I'm not sure if this is even the right avenue to explore... [01:45] matti: node-static on node.js 0.2.6 consumes memory each time I server file ... [01:45] matti: Not good. [01:45] matti: And keeps on growing. [01:45] matti: 2x 500 MiB files == 1GiB memory taken... ;) [01:46] jashkenas has joined the channel [01:51] CarterA: matti: Well that's definitely not good. Have you tested it with the newest version of node? [01:51] curtischambers has joined the channel [01:52] matti: CarterA: 0.3.x? [01:52] CarterA: matti: Yeah [01:52] dekz: creating C bindings using node-waf, can you have multiple targets? [01:52] dekz: as in just creating a binding for 2 methods, ie factorial1, factorial2 [01:52] matti: CarterA: When I use sys.pump on 0.2.x it keeps leaking file descriptor... [01:52] matti: CarterA: Not yet, I will compile it straight-away. [01:52] matti: CarterA: I am not sure where to report issues to... [01:53] CarterA: Alright. If it does the same thing then I'll try and investigate it. And you'll want to file an issue on GitHub, and send an email to nodejs-dev with [BUG] in the subject line. [01:54] matti: Will do. [01:54] matti: Let me compile version 0.3.x first and try to reproduce it. [01:54] CarterA: Alright. What platform are you on? [01:55] amerine has joined the channel [01:55] matti: x86 [01:55] matti: Simple dual-core notebook at the moment. [01:55] CarterA: As in, what flavor of linux? [01:57] zylo has joined the channel [01:57] matti: CarterA: gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu9) [01:57] matti: CarterA: GNU C Library (EGLIBC) stable release version 2.10.1, by Roland McGrath et al. [01:57] CarterA: Alright. [01:57] matti: CarterA: This is something in between a "thing" and Ubuntu. [01:57] matti: CarterA: But it is nothing alike mainstream Ubuntu. [01:58] matti: CarterA: It is matti-flavour, so to speak. [01:58] CarterA: Yeah, that's one old piece of software. [01:58] matti: CarterA: I haven't done major upgrade since ... 3 years or so... [01:58] CarterA: I can tell. [01:58] ornicar has left the channel [01:58] matti: Heheh :) [01:58] matti: CarterA: I never have the time. [01:58] matti: CarterA: But... [01:59] matti: CarterA: I will test 0.2.x and 0.3.x on ... [01:59] CarterA: Well, none of the buildbot testers are running software that old [01:59] CarterA: So there's a real possibility that there is a bug and we just haven't seen it yet. [01:59] matti: Portage 2.2.0_alpha19 (hardened/linux/amd64, gcc-4.4.4, glibc-2.12.2-r0, 2.6.34-xxxx-std-ipv6-64 x86_64) [02:00] matti: CarterA: I have seen this on CentOS 5 too... but it is quite dated as well. [02:00] CarterA: Interesting. [02:00] matti: CarterA: The above Gentoo machine is my playground. [02:00] charlenopires has joined the channel [02:00] matti: CarterA: I will compite node there. [02:00] CarterA: Alright. [02:02] aaronblohowiak: [ANN] shared-views. Finally, share your templates with the server and the client https://github.com/aaronblohowiak/shared-views/ [02:03] stride has joined the channel [02:05] xla has joined the channel [02:05] SubStack: neat [02:07] svenlito has joined the channel [02:08] SvenDowideit has joined the channel [02:12] aaronblohowiak: SubStack: thanks! i am honored by your praise. [02:12] zemanel has joined the channel [02:13] falconair has joined the channel [02:13] aaronblohowiak: part of me wants to RPG GitHub, so i can lvl up when projects hit certain follower/fork counts [02:13] SubStack: hah totally [02:14] cagdas has joined the channel [02:14] SubStack: https://github.com/search?type=Users&q=location:oakland [02:14] SubStack: ACTION is trying to take the #3 spot [02:14] SubStack: but mikeal keeps pulling ahead! [02:15] CarterA: git-achievements does that locally... [02:15] aaronblohowiak: SubStack: hahaha, top scores. Dude, we totally need to make a GitHub-RPG.com [02:15] aaronblohowiak: CarterA: linky? [02:15] CarterA: I bet you could fork it and add support via the GH api. [02:15] CarterA: https://github.com/icefox/git-achievements [02:16] SubStack: aaronblohowiak: you could reuse some of the code in npmtop too [02:16] aaronblohowiak: Oof, i'm number 16 in palo alto... i need to kick up my game [02:17] aaronblohowiak: SubStack: npmtop is pretty cool. Are the download stats available? [02:17] SubStack: aaronblohowiak: I don't think isaac keeps any [02:17] SubStack: also [02:17] SubStack: $ npm ls --loglevel=silent latest | wc -l [02:17] SubStack: 1002 [02:17] CarterA: I'm not even listed on my city (Denver. :-( [02:17] SubStack: HAPPY NPM 1000+ PACKAGE DAY EVERYBODY PARTY GOOD JOB [02:18] SubStack: CarterA: did you set your github location? [02:18] CarterA: Yep. [02:18] aaronblohowiak: holy crap, was i number 1000 ? [02:18] CarterA: I mean, I'm not listed on the first page. =p [02:18] CarterA: Anyone wanna follow me? [02:18] CarterA: :=P [02:18] flukes1 has joined the channel [02:18] rga has joined the channel [02:18] aaronblohowiak: CarterA: linky? [02:18] rga: Hello Guys [02:19] CarterA: github.com/CarterA [02:19] rga: Someone useing node.js with MySQL? [02:19] stride has joined the channel [02:19] CarterA: rga: No, but I think there's someone doing a native client for it... [02:20] aaronblohowiak: CarterA: followed [02:20] aaronblohowiak: SubStack: are you on twitter? [02:20] rga: CarterA I found some on github, but have problem to install [02:21] rga: CarterA example: npm install mysql-native [02:21] rga: npm ERR! Error connecting to server http://registry.npmjs.org/mysql-native [02:21] rga: npm ERR! Error: ECONNREFUSED, Could not contact DNS servers [02:22] aaronblohowiak: rga: do you have internet activity on that box? [02:22] aaronblohowiak: rga: what country are you in? [02:22] CarterA: Try an easy one. npm install connect [02:22] SubStack: aaronblohowiak: yes sir [02:22] SubStack: http://twitter.com/#!substack [02:22] rga: aaronblohowiak Brazil [02:23] rga: aaronblohowiak I think I have internet, wget works [02:23] aaronblohowiak: SubStack: proxies-- [02:24] rga: I'm not able to install any package npm [02:24] aaronblohowiak: SubStack: although, sesame does look fun to use =) [02:24] rga: aaronblohowiak You know how a resolved its? [02:25] aaronblohowiak: rga: unfortunately not. it seems like your dns is funky [02:25] SubStack: aaronblohowiak: I think harmony proxies (hoxies) have their place [02:26] SubStack: specifically the sesame use-case [02:26] aaronblohowiak: :-) [02:26] rga: aaronblohowiak if I using openDSN? [02:26] rga: openDNS [02:26] SubStack: and more generally memory <-> disk synchronization [02:26] aaronblohowiak: rga: that should be fine [02:27] liar has joined the channel [02:27] aaronblohowiak: SubStack: lazy, best-effort writes [02:27] aaronblohowiak: ? [02:27] SubStack: I'm not sure how you specifically mean those terms [02:28] SubStack: laziness in the sense that I'm thinking doesn't seem applicable [02:29] aaronblohowiak: SubStack: "fire and forget" [02:29] aaronblohowiak: not as in "evaluate as needed" [02:29] SubStack: oh yeah that's pretty much it then [02:30] matty has joined the channel [02:30] MattDiPasquale has joined the channel [02:31] SubStack: laziness from the programmer's perspective ^_^ [02:32] rga: aaronblohowiak I got :D [02:33] aaronblohowiak: rga: what was it? [02:33] rga: vim /etc/resolv.conf [02:33] rga: nameserver 8.8.8.8 [02:33] rga: nameserver 8.8.4.4 [02:33] aaronblohowiak: yea, those are google's dns servers [02:33] rga: aaronblohowiak I useing cygwin [02:33] CarterA: npm doesn't work on cygwin [02:34] rga: CarterA yes, work [02:34] rga: CarterA I using here [02:34] rga: CarterA Cygwin internally uses Windows for DNS queries. node.js uses the c-ares library that relies on /etc/resolv.conf. Cygwin ships with an empty /etc/resolv.conf. In order to enabled networking from your scripts, add these IPs to the file (Google Public DNS): [02:34] aaronblohowiak: ohhhh [02:34] CarterA: Alright then. [02:35] aaronblohowiak: you got npm working on cygwin? [02:35] aaronblohowiak: sweet! [02:35] rga: aaronblohowiak yep [02:35] aaronblohowiak: boa noite! [02:35] CarterA: Is isaacs here? [02:35] CarterA: Nope. [02:35] CarterA: He's gonna want to know that. [02:36] matty: im having some issues with vowsjs and testing my auth routes. it seems that req.session.user_id is undefined. I can see my that my default connect MemoryStore remembers the session, but it seems that my restler request object doesn't retain my session data between requests [02:36] rga: CarterA I got the information on this link https://github.com/ry/node/wiki/Building-node.js-on-Cygwin-(Windows) [02:37] CarterA: Oh. Nevermind. [02:37] skot: rga: what branch did you use? [02:39] rga: skot, Sorry I did not understand [02:39] skot: What branch of nodejs did you build from on cygwin? [02:39] luke`_ has joined the channel [02:40] rga: skot v0.2.6 [02:40] rga: skot I tried the version 0.3.x but I could not compile [02:41] Aria has joined the channel [02:41] skot: k, just waiting for something newer to work [02:42] skot: I build on "works" [02:47] kuhrt has joined the channel [02:50] rga: skot You using node with mysql? [02:51] skot: np [02:54] Metapony: cygwin has to use 'works' as far as I know, otherwise npm has no output. Though today I seem to have gotten node updated and npm still works. [02:55] Metapony: I should just throw up ubuntu on vmware and save myself the hassle of cygwin... [02:56] caligula has joined the channel [02:56] skot: I also used to run coLinux which was a little less intensive on resource than vmware/vbox. [03:02] MatthewMueller has joined the channel [03:03] SubStack: stagas: is there a nice way in chaos to just get a dump of all the data? [03:03] SubStack: considering chaos for sesame support [03:04] SubStack: not sure what an hkey is and how it differs from regular keys [03:04] kersny has joined the channel [03:04] kersny has left the channel [03:04] NemesisD has joined the channel [03:05] NemesisD: hi all. is there an effective way to create constructor-based objects that make async system calls? should they just be altogether avoided or is there a trick to only continuing after the constructor is done? [03:06] SubStack: NemesisD: async calls for object setup? [03:07] fairwinds has joined the channel [03:07] SubStack: NemesisD: you can turn the object into an EventEmitter and emit a 'ready' event or some such [03:07] Aria: Or call a callback with the object. [03:07] SubStack: or else expose the special async properties in an event or through a callback [03:07] NemesisD: ive got a setup constructor that reads from a config file, ideally it should hang the app until its done, but something feels weird about config = new config(function() { now its done }); [03:07] Aria: foo.createObject(function(obj) { .... }) [03:08] SubStack: perhaps have a .load() [03:08] Aria: Hehe. That's async for you. [03:08] SubStack: really depends on what makes sense for your object [03:08] NemesisD: it hurts [03:08] langworthy has joined the channel [03:08] kris_ has joined the channel [03:08] SubStack: NemesisD: I would do the io outside of the constructor altogether [03:08] aaron_afk: NemesisD: you probably shouldnt be reading from a file in your constructor [03:09] aaron_afk: SubStack++ [03:09] v8bot: aaron_afk has given a beer to SubStack. SubStack now has 5 beers. [03:09] SubStack: a thin io shell haskell-style [03:10] SubStack: for one it makes testing easier to separate io from your functions as much as makes sense [03:13] aaron_afk: for two, it makes it easier to control configurations algorithmically [03:13] NemesisD: i guess. in my context, the object i'm creating is literally unusable until it performs that IO action, so that would mean everone who uses it would have to remember do the IO action after the constructor finished [03:14] aaron_afk: for three, it is easier to debug / monitor [03:14] aaron_afk: NemesisD: no, make the config a param to the ctor, leave loading configurations up to your consumer [03:14] CarterA: You could have the constructor take a buffer instead of performing any IO. [03:15] NemesisD: oh i see [03:15] CarterA: The user then does the IO themselves and gives you the result. [03:15] aaron_afk: a = new MegaService(config); // config was config = JSON.parse(fs.readFileSync('myOwnDamnConfigFile.json')) [03:15] aaron_afk: CarterA: not a buffer, but a js object =) [03:15] CarterA: Ah. [03:16] NemesisD: well in this case its just a dataset, i still want the constructor to do all the setup stuff but i guess it makes sense to actually get the dataset and hand it into the ctor when ready [03:16] NemesisD: i like that better than a constructor with a callback [03:16] JimBastard has joined the channel [03:16] Aria: Javascript constructors are weird. Both node and the DOM have a common idiom of having another function actually set things up. [03:18] Aria: And I think it's often the right thing -- have that function load the data, then pass it to the constructor, then callback with the object. [03:18] Aria: (or return it if it was a synchronous thing.) [03:21] kris_ has joined the channel [03:21] dekz has joined the channel [03:22] mikeal has joined the channel [03:22] aaron_afk: Aria++ [03:22] v8bot: aaron_afk has given a beer to Aria. Aria now has 2 beers. [03:22] Aria: Mmm, beer. [03:23] mikeal: how do i check how many beers i have [03:23] aaron_afk: mikeal++ [03:23] v8bot: aaron_afk has given a beer to mikeal. mikeal now has 5 beers. [03:23] aaron_afk: you had 4 [03:24] mikeal: haah [03:24] dekz: dekz++ [03:24] v8bot: dekz: Don't cheat! You can't give a beer to yourself. [03:24] dekz: damn [03:24] aaron_afk: dekz-- [03:24] v8bot: aaron_afk has taken a beer from dekz. dekz now has -1 beers. [03:24] dekz: damn [03:24] mikeal: haha [03:24] aaron_afk: sorry, dude, you owe me one [03:24] CarterA: aaron_afk++ [03:24] v8bot: CarterA has given a beer to aaron_afk. aaron_afk now has 1 beers. [03:24] aaronblohowiak: i am going to get dinner now [03:24] aaronblohowiak: unless anyone wants to eat in palo alto? [03:25] CarterA: I would+ But I'm not in palo alto. [03:25] hornairs has joined the channel [03:25] aaronblohowiak: okalie dokalie [03:25] aaronblohowiak: later [03:25] CarterA: So that's not really a possibility. :-) [03:25] CarterA: dekz++ [03:25] v8bot: CarterA has given a beer to dekz. dekz now has 0 beers. [03:25] Aria: I wish! [03:25] CarterA: v8bot++ [03:25] v8bot: CarterA has given a beer to v8bot. v8bot now has 14 beers. [03:26] CarterA: Haha [03:26] SubStack: v8bot why are you hoarding beers [03:26] SubStack: silly robits [03:28] Aria: Careful. I think v8bot is the kind of bot with shoulder pads and a light saber. [03:28] Qbix1 has joined the channel [03:33] HAITI has joined the channel [03:33] HAITI has joined the channel [03:34] matti: CarterA: I will let you know a little bit later... [03:34] CarterA: Alright. [03:34] matti: CarterA: 3 am in the morning here ;] I am falling asleep ;] [03:34] matti: CarterA: Sorry ;] [03:34] CarterA: NP. Get some rest. [03:35] clarkfischer has joined the channel [03:36] matti: CarterA: Thanks ;] [03:37] SvenDowideit has joined the channel [03:40] mikeal: some more NodeConf tickets are up [03:40] mikeal: http://nodeconf2011.eventbrite.com/ [03:41] liar has joined the channel [03:41] CarterA: Wish I could go. [03:45] curtischambers has joined the channel [03:47] warz: id like to go [03:47] warz: but i definitely wouldnt know anyone, and im new to nodejs in general [03:48] warz: but ive been wanting to attend some of these events [03:54] ROBOTARMY has joined the channel [03:54] kris_ has joined the channel [03:55] jetheredge has joined the channel [03:58] langworthy has joined the channel [04:00] kuhrt has joined the channel [04:03] jacobolus has joined the channel [04:05] jbrantly1 has joined the channel [04:05] MikhX has joined the channel [04:05] mw has joined the channel [04:10] langworthy has joined the channel [04:15] unomi has joined the channel [04:17] mikeal has joined the channel [04:18] jbrantly has joined the channel [04:19] andrewfff has joined the channel [04:21] liar has joined the channel [04:21] jimt_ has joined the channel [04:22] mike5w3c has joined the channel [04:25] jaequery has joined the channel [04:26] bingomanatee: ACTION once ran a lightsaber fight club. [04:26] xla has joined the channel [04:26] mikeal has joined the channel [04:27] bingomanatee: turns out that erstwhile jedi's are a bunch of no-show flakes who can't take a beating. [04:28] dgathright has joined the channel [04:29] ryanfitz has joined the channel [04:29] bingomanatee: ACTION is NodeConfing. [04:30] SubStack: confing! [04:30] Ond has joined the channel [04:30] SubStack: submitting a talk? [04:30] bingomanatee: I dunno - if I can get noogle in shape I guess I could eat up some time with it. [04:31] bingomanatee: How would I do such if I wanted to? [04:32] mike5w3c has joined the channel [04:32] MattDiPasquale has joined the channel [04:35] ryah: <3 web browsers [04:35] mikeal has joined the channel [04:35] SubStack: ryah: which ones? [04:35] ryah: chrome [04:36] ryah: but just the whole concept [04:37] SubStack: I like how any idiot can throw up a web page [04:37] PyroPeter has joined the channel [04:38] bingomanatee: By the way - for those who are planning to go to portland keep in mind that portland DOES NOT HAVE SALES TAX so if you have a big ticket item you want to buy considering paying in cash and saving big. [04:38] jimt has joined the channel [04:38] micheil: ryah: docs are progressing a bit; but I think I'll need to write a new parser / tool for them. [04:39] micheil: we should now have all the manpage's linked when they are referenced [04:39] ryah: oh sweet [04:39] ryah: micheil: is it online anywhere? [04:40] micheil: not yet [04:40] micheil: I need to pull the other branches in. [04:41] hobodave has joined the channel [04:42] micheil: we went with linking them using the kernel.org man pages [04:44] mike5w3c has joined the channel [04:45] Twelve-60: trying to get memcache working with nodejs, but it requires libmemcached 0.40 or higher, but CentOS only has 0.3x - any help how to fix? :P [04:45] Twelve-60: i installed libmemcached from source, but i need libmemcached-devel too, can i do that from source? :o [04:45] micheil: ryah: I'm just going to recompile, then I'll upload them to static.brandedcode.com/node-docs/ [04:47] CrypticSwarm has joined the channel [04:48] softdrink has joined the channel [04:48] jimt_ has joined the channel [04:49] isaacs has joined the channel [04:50] isaacs: CarterA: npm does work on Cygwin [04:55] Yuffster has joined the channel [04:57] breccan has joined the channel [04:58] amerine has joined the channel [04:58] liar has joined the channel [04:59] mjr_: So how fast did nodeconf tickets sell out? [05:00] micheil: quite fast. [05:00] mjr_: minutes? [05:00] mjr_: Faster than jsconf? [05:01] micheil: oh, uh, I saw it announced that they were sold out within about 4 hours of release [05:05] dthompson has joined the channel [05:10] liar has joined the channel [05:11] tim_smart: micheil: Has David sorted tickets? [05:11] micheil: tim_smart: I hope so. [05:13] MikhX has joined the channel [05:15] devrim: hi guys - can i compile my whole nodejs app to a binary ? [05:16] devrim: or should i always deploy code and run with node [05:17] admc has joined the channel [05:17] mikeal has joined the channel [05:18] micheil: woot. just figured out git cherry picking. [05:18] mu-hannibal has joined the channel [05:26] liar has joined the channel [05:34] sudoer has joined the channel [05:35] echosystm: devrim: v8 compiling javascript is part of JIT [05:35] echosystm: it's not a once-off thing [05:38] devrim: so what do pro-nodejs people do when they want to deploy to 100s of servers the same app .. ? [05:38] echosystm: they prepare a package for the server and install it on all of them [05:38] echosystm: same as you would any other managed language software [05:38] echosystm: or... just any software in general [05:39] devrim: we are porting from c++ and go, and a newbie at node, so should i compare nodejs deployment to php ? [05:40] echosystm: i dont think you will ever get rid of the VM, so i guess so [05:40] micheil: devrim: I'm actually working on a tool at the moment which will package up your app into a tarball (deps included) and then upload that to your server & then deploy it [05:40] devrim: micheil, that's great news [05:40] devrim: is there any way i can get a peek ? [05:40] micheil: at the moment, the most common way is to just use git-deploys, but that only really works with one server [05:40] micheil: devrim: no. [05:40] echosystm: that will be effectively the same as packaging though micheil [05:41] micheil: echosystm: yup. it uses npm under the hood. [05:41] mikeal has joined the channel [05:41] micheil: but also allows for dependencies that aren't on the public registry (via git urls) [05:42] devrim: so the way it works is then, you basically make a bash filie that clones repos, runs bash commands, installs npm and runs your program, and its code will be out in the open [05:42] micheil: uhh.. not quite [05:42] micheil: your server should be setup with node and npm from the get go. [05:42] echosystm: i would prefer to just prepare packages for the package manager of the server [05:43] echosystm: well, i wouldnt personally [05:43] devrim: im still unclear - is there any example of packaging that you talk about ? [05:43] micheil: uhh.. sort of. [05:43] echosystm: but i know the system admins at my work would prefer it [05:43] micheil: npm is in a way it. [05:43] ryanfitz has joined the channel [05:44] micheil: but doesn't solve the problem totally. [05:44] micheil: npm is the defacto node package manager [05:44] micheil: (like ruby gems or pip) [05:44] echosystm: it depends a lot on who is looking after the server, i think [05:44] echosystm: systems guys aren't going to want to touch NPM etc. [05:44] micheil: as for your servers, I'd assume that if you're massively allocating them, then you would have a custom iso of your server config. [05:45] masahiroh has joined the channel [05:45] micheil: echosystm: exactly. but if they can run a simple daemon on their server, have it password protected & over tls, then they'd do that. [05:46] micheil: besides, not that any of us are really sysadmins.. >_> [05:46] echosystm: no i mean, they wouldnt want to have to explicitly build + install node/npm in the first place [05:46] devrim: that's the whole point [05:46] micheil: well, how else do you get the software on the computer? [05:47] devrim: we want /etc/init.d/mynodeapp start [05:47] micheil: you have to build and install Go on your server [05:47] echosystm: at the company i work for, it is expected that any software we want on a server will be packaged using the package manager of the target server [05:47] micheil: devrim: I currently have something like that. [05:47] micheil: although, I'm using upstart, not init.d [05:47] devrim: no you dont micheil, once you have the binary, no other computer needs go compiling or c++ compiling [05:47] echosystm: all the dependencies + dependency handling would thus be done by that package manager [05:48] echosystm: but, like i said, it all comes back to who is managing the server [05:48] matbee has joined the channel [05:48] micheil: oh well, I'd just say: I expect servers to be setup properly prior to deploying code, because deploying binary stuff is kinda shit. [05:48] micheil: besides, JS isn't something that's binary [05:49] devrim: micheil, im not sure you know what you're talking about everything you install with yum or apt-get are binaries [05:49] devrim: and thats what sysadmins know and manage [05:50] micheil: great, like I said, I'm not a sysadmin. At the moment, node is installed from source, because that's the best way to install it. [05:50] micheil: it takes like five or ten minutes to do. [05:50] echosystm: the difference is that micheils approach is good for programmers [05:50] micheil: if you use archlinux or similar, then you can actually package it up. [05:50] echosystm: the other is good for admins, who dont want/need to care about the code [05:50] micheil: the tool I'm working on assumes that the server is setup. [05:51] micheil: it's about deploying code, not deploying servers [05:51] echosystm: (and dont want to know a different packaging system) [05:51] echosystm: so, like i was saying, it's a matter of who is managing the server [05:51] micheil: I'm wanting a better way, as a developer, to deploy my code to my servers [05:51] devrim: http://stackoverflow.com/questions/3579044/is-it-possible-to-compile-a-js-app-the-nodejs-interpreter-into-a-single-executa [05:52] echosystm: yes, and your solution meets that [05:52] liar has joined the channel [05:52] micheil: that means that I've got everything already setup. [05:53] micheil: basically node isn't exactly designed to be compiled into a binary file. [05:53] micheil: it's like the difference between core and userland. [05:53] echosystm: micheil: i dont know if we have our wires crossed or not [05:54] devrim: i guess not for now - but i'm sure it will be. [05:54] micheil: devrim: probably won't be. [05:54] echosystm: devrim: it never will be [05:54] echosystm: v8 compiling javascript to machine code is for optimisation purposes only [05:54] micheil: https://github.com/ry/node/wiki/node-core-vs-userland [05:54] micheil: and the only time you save is in app startup time, not running time. [05:55] echosystm: javascript is a dynamic language - it is expected things are going to change and get recompiled etc. [05:55] echosystm: your issue is not whether you can compile to a binary though [05:55] devrim: guys - when compiled js doesn't become another language - its the same set of assembly lines sent to the processor, anyway thx for your input, i guess i shouldn't force this conversatoin [05:56] echosystm: your issue is how do you get your code on multiple servers [05:56] micheil: which is the issue I'm solving. I'm not solving how to get your servers setup. There's other tools for that. [05:56] devrim: "node core vs userland" has nothing to do with this subject [05:57] devrim: it's a dicussion of what needs to be included on node and what stays out [05:57] micheil: I would think that anyone who is deploying node at scale has some way of installing the operating system with node pre-installed. [05:57] Twelve-60: arrgggh, trying to use the memcache addon but I get: Error: libmemcached.so.6: cannot open shared object file: No such file or directory :( [05:58] Twelve-60: but it exists! [05:59] bingomanatee: Hey I got a fun little mini-work queue for holding a callback til stuff gets done. https://github.com/bignomanatee/workstack [05:59] bingomanatee: enjoy. [05:59] micheil: bingomanatee: hmm, sounds like something interesting [05:59] vipaca has joined the channel [06:00] echosystm: devrim: do you understand that node.js uses JIT? [06:00] vipaca: How do you decode buffers back to plain text? [06:00] echosystm: you can't just take your whole javascript and compile it down to machine code once [06:00] devrim: so? [06:00] micheil: devrim: for instance, if you're deploying node to EC2 instances, I'd expect you to have a custom AMI [06:00] echosystm: its not a one-off thing [06:00] devrim: am i changing my code while its running? [06:00] micheil: vipaca: try the Buffer.* methods [06:00] bingomanatee: Yeah I had problems with having a series of mongo inserts and didn't want to wait til each indiviaul insert was done so I wrote this thing to block the callback til the colleciton was updated. [06:01] kiddphunk has joined the channel [06:01] devrim: no - so it can change once, save that state and give it to me. [06:01] micheil: vipaca: http://nodejs.org/docs/v0.3.6/api/buffers.html#buffer.toString [06:01] devrim: hey bingomanatee! [06:01] devrim: that's a nice app you created! [06:01] bingomanatee: Thanks. [06:03] micheil: bingomanatee: hmm, is that for worker queues, or callback management? [06:03] bingomanatee: Its for a very specific scenario. [06:03] echosystm: devrim: do you understand what JIT is? [06:03] echosystm: it's all based around runtime profiling [06:03] echosystm: you cant statically compile code that will only perform well when runtime profiling is to be done [06:04] bingomanatee: Where you are asynchronously sending off a bunch of work tasks and want to wait to respond until the last work is done and the last callback is called. [06:04] devrim: echosystm: you make 1.js and when you say node 1.js what do you think is happening ? [06:04] vipaca: micheil: oh wierd when I called console.log on the bugger I expected an implicit toString() [06:04] echosystm: it starts profiling the code and compiling certain parts of it [06:04] micheil: nup. [06:05] echosystm: it doesnt compile the whole thing down to machine code that will never change [06:05] micheil: vipaca: certain objects in node have custom console.log methods [06:05] devrim: it does. [06:05] micheil: vipaca: for instance, buffers usually print something like [06:05] vipaca: micheil: yeah I just got the raw buffer dump [06:06] vipaca: a little confusing, but the toString actually decoded correctly for me thx [06:06] micheil: vipaca: just be careful with that documentation of buffer.toString, as it says the wrong thing with the arguments [06:06] bingomanatee: Most work queues exist to ensure that tasks are solved in order. [06:06] micheil: it should be buffer.toString(encoding, start, end) [06:06] echosystm: the whole point of JIT is that the code is optimised at runtime, that is completely incompatible with static compiling [06:06] bingomanatee: workstack is designed for the opposite scenario, where all you care about is that an aggreate series of functions are completed before a response callback is fire.d [06:07] micheil: bingomanatee: hmm, where as this does it such that it just wants to know when all takes are done [06:07] bingomanatee: Yep. [06:07] micheil: okay, well, work_stack looks overly complicated for that [06:07] bingomanatee: Its a simple increment/decrement syste. [06:07] bingomanatee: m. [06:07] devrim: echosystm: http://d.pr/ujTg look at the third line, i can actually put my code at the end of node js and compile it, and your JIT would have no problems with it. So this will be done in a better way in the future. [06:08] devrim: when i say node, it will run with as my app. [06:08] micheil: ryah: would you care to weigh in on that? [06:08] devrim: (btw im not sure if that works - just to illustrate my point) [06:09] micheil: devrim: basically, while yes, the core modules are compiled into node, that's only because they are core; hence the link to the core vs userland [06:09] echosystm: what am i looking at here? [06:10] echosystm: this is installing nodejs [06:10] bingomanatee: There are hooks for echoing things out as you go that aren't critical to the functioning of the stack. [06:10] devrim: yes on third line [06:10] echosystm: arent you talking about compiling your javascript to machine code? [06:10] micheil: echosystm: yeah, but they are putting their own code inside src/node.js [06:10] devrim: you add your own code into compiling of nodejs [06:10] micheil: iirc, the core modules are staticly compiled; in a way. [06:10] liar has joined the channel [06:10] admc has joined the channel [06:11] micheil: devrim: but that's not how node is designed, and it probably won't ever endorse something like that. [06:11] vipaca: micheil for giggle I just used sys.puts withouth the explicit call to toString for buffer and also got the decode [06:11] vipaca: so what the difference btw sys.puts and console.log? [06:11] micheil: devrim: what you're doing there is modifing the core. [06:11] echosystm: thats a different circumstance devrim [06:12] devrim: its the same circumstance [06:12] devrim: http://stackoverflow.com/questions/3579044/is-it-possible-to-compile-a-js-app-the-nodejs-interpreter-into-a-single-executa [06:12] devrim: that answer is taking from there. [06:12] micheil: devrim: basically, you shouldn't be doing that. [06:13] micheil: node is more designed to be run like ruby or php, not like C or C++ [06:13] andrewfff has joined the channel [06:13] micheil: ruby myfile.rb [06:13] devrim: ok guys i accept your standpoint im strangely tempted to answer but i really dont want to go any further on this subject [06:13] Yuffster has joined the channel [06:14] micheil: if you want something that compiles to a single binary file, I'd suggest you look maybe else where. [06:14] devrim: thanks micheil. [06:16] Qbix1 has joined the channel [06:16] echosystm: if this JS is being compiled into machine code and never changed, then you can only assume its not getting all the profiling magic of JIT [06:16] echosystm: is that what you want? [06:16] breccan_ has joined the channel [06:19] vipaca: so what the difference btw sys.puts and console.log? [06:20] devrim: alright: everything is 0s and 1s - if we agree on that, there is no point of this discussion, your JIT is 0s and 1s too. thus everything can be compiled and packaged. whether it is possible or not, that's a choice, whether it will be made possible or not that's another choice. but compiling doesn't add or take away from what it is. everything that runs on a processor is binary. period. [06:21] SubStack: vipaca: console.log is built-in and sys is deprecated [06:22] vipaca: k, thx, I guess there isn't any documentation on the console module itself? [06:22] SubStack: devrim: the problem is that it's really hard. If you figure it out and make it easy more power to you [06:25] micheil: SubStack: sys isn't quite deprecated. [06:25] devrim: thx substack - that's a valid comment, are there people who are trying that u know of? [06:25] micheil: just renamed. [06:26] micheil: devrim: things that node won't do is modify the v8 engine; I'm guessing for you to be able to statically compile javascript to machine code, then you'd need to mod v8 [06:34] flippyhead_ has joined the channel [06:34] richcollins has joined the channel [06:35] tfe_ has joined the channel [06:36] mu-hannibal has left the channel [06:37] w3dot0 has joined the channel [06:40] kab3wm has joined the channel [06:42] okuryu has joined the channel [06:47] Ond has left the channel [06:48] dekz has joined the channel [06:49] skm has joined the channel [06:51] isaacs has joined the channel [06:55] mikeal has joined the channel [07:00] ryah: 'a' < 'b' [07:00] ryah: this compares ascii codes? [07:00] micheil: I believe so. [07:01] micheil: v8: 'a'.charCodeAt(0) [07:01] v8bot: micheil: 97 [07:01] micheil: v8: 'b'.charCodeAt(0) [07:01] v8bot: micheil: 98 [07:01] micheil: v8: 96 < 'a' [07:01] v8bot: micheil: false [07:01] micheil: v8: 96 > 'a' [07:01] v8bot: micheil: false [07:02] micheil: or not. [07:05] mscdex: v8: 'a' < 'b' [07:05] v8bot: mscdex: true [07:05] mscdex: heh [07:05] mscdex: v8: 'b' < 'a' [07:05] v8bot: mscdex: false [07:07] flippyhead_ has joined the channel [07:08] amerine has joined the channel [07:11] micheil has joined the channel [07:16] dthompson has joined the channel [07:19] void_ has joined the channel [07:20] jimt has joined the channel [07:21] kuhrt has joined the channel [07:22] dekz has joined the channel [07:28] Paul__ has joined the channel [07:28] dthompson has joined the channel [07:33] dthompson1 has joined the channel [07:36] eck has joined the channel [07:36] eck has joined the channel [07:39] mikeal has joined the channel [07:40] dthompson has joined the channel [07:40] hasenj has joined the channel [07:43] bingomanatee: ACTION is tracing aliases in noogle, including daily contribution tallies and alieases [07:46] andrewfff has joined the channel [07:49] chapel: nice bingomanatee [07:49] chapel: you should look at existing log parsing scripts [07:49] deepthawtz has joined the channel [07:49] chapel: the ones that do stats [07:49] chapel: as far as the logic behind them [07:50] liar has joined the channel [08:05] Evet has joined the channel [08:08] andrewfff has joined the channel [08:08] zylo has joined the channel [08:13] backinnam__ has joined the channel [08:14] Vertice has joined the channel [08:14] luke` has joined the channel [08:21] jbrantly has joined the channel [08:21] warz has joined the channel [08:22] MikhX has joined the channel [08:28] daglees has joined the channel [08:30] syntheze has joined the channel [08:30] garrensmith has joined the channel [08:30] garrensmith: morning all [08:31] garrensmith: Is search.npmjs.org still down? [08:34] sudoer has joined the channel [08:35] mscdex: garrensmith: it's not down over here [08:35] garrensmith: mscdex: but its not refreshing [08:35] SubStack: s/down/stale/ ? [08:36] mscdex: i dunno [08:36] mscdex: i think mikeal is still working on it [08:38] dahankzter has joined the channel [08:39] Druid_ has joined the channel [08:39] tmpvar has joined the channel [08:39] tmpvar: lo [08:39] mscdex: is anyone here using something like jsdoc for autogenerating docs? [08:39] mscdex: tmpvar: yo [08:40] tmpvar: mscdex, i saw something earlier [08:40] jesusabdullah: Not yet, but I've considered it [08:40] tmpvar: visionmedia.. [08:40] chapel: who was asking about couchdb vs mongo? [08:41] mscdex: .. is not here [08:41] mscdex: :p [08:41] tmpvar: https://github.com/visionmedia/jade/blob/master/lib/parser.js [08:41] tmpvar: oh, you want help.. haha [08:41] tmpvar: my bad [08:41] tmpvar: level2/core does things to your mind, man [08:42] skm has joined the channel [08:42] mscdex: tmpvar: who me? [08:42] tmpvar: yeah :) [08:42] micheil: mscdex: in the node modules that votizen are release, for now we're using jsdoc format, but we don't actually have a tool to convert that to html [08:43] mscdex: yeah it'd be nice to have a setup that can have different output formats [08:43] mscdex: especially html and markdown [08:43] micheil: I'm currently reworking the node doctool [08:44] micheil: essentially to have a more human based input; be inspired by markdown, but not be markdown [08:44] mscdex: tmpvar: hmm.. never used jade [08:44] tmpvar: mscdex, sorry man, my mind is mush [08:44] mscdex: i just hate generating huge docs heh [08:44] tmpvar: i thought you wanted a use case [08:44] mscdex: after i've coded a ton of stuff [08:44] tmpvar: word [08:45] mscdex: sometimes i just feel like writing "RTFC" in a readme.md and pushing it [08:45] mscdex: :p [08:45] skm has joined the channel [08:45] tmpvar: nice one [08:45] tmpvar: the f-u docu format [08:46] tmpvar: mscdex, what have you been working on these days? [08:47] mscdex: well, after spending the holidays working on ncurses, it's been node-oscar the past week or so [08:47] mscdex: got chat working, but still need to do direct connection and file transfer support [08:47] mscdex: and ICQ testing yet [08:47] mscdex: heh [08:47] nooder has left the channel [08:48] tmpvar: oh wow, nice [08:48] tmpvar: you didnt go the libpurple route? [08:48] mscdex: but most basic stuff is there already [08:48] mscdex: nope [08:48] SamuraiJack has joined the channel [08:48] Qbix1 has joined the channel [08:48] mscdex: it's all pure js [08:48] tmpvar: from scratch? [08:48] tmpvar: oh god [08:48] mscdex: :) [08:48] tmpvar: i did TOC in C a while back (years) [08:48] mscdex: libpurple has a lot of cruft that caters to ancient clients [08:48] tmpvar: that was horrible.. how has it been progressing? [08:49] tmpvar: pain at every step or are there sane docs these days? [08:49] hwinkel has joined the channel [08:49] mscdex: TOC is a lot easier than OSCAR, but you don't get the flexibility [08:49] mscdex: things have been going fairly well [08:50] tmpvar: thats good :) [08:50] Ond has joined the channel [08:50] tmpvar: yeah, I'm familiar with the difference [08:50] mscdex: docs aren't as plentiful as i'd like them to be, but i rely on referencing other open source clients and what little is in the short-lived OSCAR referenced made available by AOL a few years back [08:50] tmpvar: ah, nice [08:51] tmpvar: man, i wish i still had that code.. it was pretty hackish [08:51] mscdex: hehe [08:51] tmpvar: and i was avoiding oscar, because it was way out of my league [08:51] tmpvar: no docs, only partially reversed, etc [08:52] tmpvar: i remember using this crazy text doc that i found somewhere to implement the first part of TOC.. oh yeah.. story time.. lol [08:52] mscdex: yeah, it took awhile for me to get into it... understanding the packet formats, how the comm flows, etc [08:52] tmpvar: well, thats awesome [08:53] mscdex: there's still a lot of stuff out there that's undocumented though :( [08:53] chapel: keep up the good work mscdex [08:53] tmpvar: now all we need is a xmpp client and we can ditch pidgin/adium :) [08:53] chapel: what is your plans for it? [08:53] tmpvar: mscdex, i dont doubt it.. purple sources are hell as well [08:53] SubStack: back in the dark ages of data formats [08:53] forzan has joined the channel [08:54] mscdex: chapel: no particular plans. it's just a protocol i picked up one day because i was looking for something else to work on :) [08:54] chapel: ah [08:54] tmpvar: mscdex, thats commendable, someone has to do it hehe [08:54] mscdex: tmpvar: yeah, i particularly enjoyed some of their code comments :) [08:55] tmpvar: so its all in js, thats pretty awesome [08:56] mscdex: yep [08:56] ROBOd has joined the channel [08:56] tmpvar: is there a point at which you can say that you are "done" ? [08:56] tmpvar: i dont imagine the protocol evolves much these days, except to provide more ad avenues for aol [08:57] mscdex: more or less... i mean there is undocumented stuff going on with the protocol [08:57] mscdex: you can tell because the server sends you stuff that isn't written about anywhere else [08:57] mscdex: occasionally [08:57] tmpvar: interesting [08:57] mscdex: probably for the newest clients [08:57] mscdex: fluff features like animated smileys or some junk like that i bet [08:58] tmpvar: yep [08:58] mscdex: but others may actually useful though, who knows [08:58] dekz has joined the channel [08:58] tmpvar: haha, doubtful [08:58] mscdex: i'm hopeful :) [08:59] tmpvar: l33t sploits have been handled years ago lol [08:59] tmpvar: TOC seems more stable imo [08:59] mscdex: well, some of the unknown packets you can look at it and pretty much guess the format, but you have no idea what the content means [08:59] tmpvar: as far as being able to implement something that is relatively future proof [09:00] tmpvar: true [09:00] mscdex: they have a developer api which is now closed now that makes things even easier than TOC i think [09:00] mscdex: but you're limited [09:01] tmpvar: yeah for sure [09:01] tmpvar: oscar is great, if you can keep up with em [09:02] tmpvar: so im curious what would be needed to replace these shitty desktop aim clients with a node backend [09:02] Wizek has joined the channel [09:02] mscdex: i'm actually content without file transfer and direct connection support, but maybe someone wants one or both of those features, i don't know [09:02] tmpvar: bindings to gtk/qt/quartz? [09:03] clarkfischer has joined the channel [09:03] tmpvar: mscdex, thats a good point [09:03] tmpvar: bots written in js [09:03] tmpvar: i may actually use this [09:04] mscdex: there's a couple starts for gtk bindings i think [09:04] liar has joined the channel [09:04] mscdex: dunno about qt or quartz [09:04] syntheze has joined the channel [09:05] mscdex: here's what i've got so far in the repo: https://github.com/mscdex/node-oscar [09:05] mscdex: still needs work, but i'm getting there ;-) [09:05] tmpvar: damn, docs are beastly [09:05] mscdex: lol yes [09:06] mscdex: hence the auto-doc generation discussion earlier :-D [09:06] tmpvar: haha [09:06] tmpvar: wow, this is pretty insane [09:06] rachelbutts has joined the channel [09:07] tmpvar: nice job mscdex, i forget how "real" this code is [09:07] jimt_ has joined the channel [09:07] tmpvar: and in js, thats shiny :) [09:07] mscdex: hehe [09:07] mscdex: node.js rules! [09:07] tmpvar: ftw [09:08] tmpvar: are you going to nodeconf? [09:08] tmpvar: or jsconf? [09:08] mscdex: i wish [09:08] mscdex: i'm one of the unlucky noders that's out east [09:09] tmpvar: im out east [09:09] tmpvar: where are ya? [09:09] mscdex: ohio [09:09] tmpvar: ok, so why couldn't you go? [09:10] tmpvar: lol [09:10] mscdex: well if there's a jsconf or nodeconf closer to me, i'd be willing to go [09:11] mscdex: or even some other node meetup [09:11] tmpvar: i feel ya [09:11] chapel: Im pretty close [09:11] mscdex: there's 1 javascript meetup group where i live, but they always have boring stuff on the agenda [09:11] mscdex: :p [09:11] tmpvar: we should do an east coast thing, all those west coasters getting all the attention [09:11] chapel: like <10 hours away [09:11] Lorentz: Wonder if there could be a nodejs meetup in sydney [09:11] Lorentz: Sydney is so boring [09:11] flippyhead has joined the channel [09:12] tmpvar: hehe [09:12] steffkes has joined the channel [09:12] tmpvar: mscdex, time to show them who's boss [09:12] mscdex: hah [09:12] d0k has joined the channel [09:13] tmpvar: instead of manipulating dom elements with .getElementById, its time to write a some endian conversion code! [09:13] SubStack: endians! [09:13] mscdex: :) [09:13] SubStack: I have some of that stuff. [09:14] SubStack: Error: session requires the "secret" option string for security [09:14] SubStack: wups! [09:14] tmpvar: I swear I would be more active if it werent for jsdom [09:14] tmpvar: seriously, check this out [09:14] mscdex: well, i don't even think it's a javascript meetup group, it's a web developers group [09:14] tmpvar: https://gist.github.com/802604 [09:14] mscdex: but still boring [09:14] tmpvar: mscdex, small town? [09:15] mscdex: not really [09:15] SubStack: you just need more inflamatory and bombastic personalities [09:15] mscdex: guess not many noders around here [09:15] SubStack: can't have an entertaining meetup without those [09:15] tmpvar: mscdex, its all about turning that tide :) [09:15] tmpvar: SubStack, haha. where are you? [09:15] SubStack: tmpvar: oakland [09:15] SubStack: speaking of which, I should make some slides for bingomanatee's thing [09:15] mscdex: i've thought about proposing a node presentation/discussion to them [09:15] tmpvar: big boy out in the heart of it all [09:16] tmpvar: :P [09:16] tmpvar: (jealous, only a little bit) [09:16] tmpvar: mscdex, you should [09:16] tmpvar: i mean, what could it hurt [09:16] tmpvar: they can break stride from their css selectors for a minute and hear about an amazing new technology [09:17] tmpvar: ^_^ [09:17] sprout has joined the channel [09:17] mscdex: more like cakephp and design choices [09:17] mscdex: :p [09:17] tmpvar: oh boy [09:17] mscdex: that's what they've been discussing lately [09:17] chapel: wow [09:17] tmpvar: dude, thats bad news [09:17] chapel: :( [09:17] tmpvar: chapel, where are you? [09:17] mscdex: cakephp, design patterns, favorite web development tools [09:18] SubStack: >_< [09:18] chapel: spokane, washington [09:18] chapel: :) [09:18] tmpvar: ah, nice [09:18] SubStack: chapel: I know that place [09:18] SubStack: ACTION lived in Moses Lake for like 6 years [09:18] chapel: but I cant afford to do the node conf [09:18] chapel: ah nice [09:18] chapel: haha [09:18] chapel: how long ago? [09:19] SubStack: 1999 to 2006 [09:19] SubStack: 7 years even [09:19] chapel: ah [09:19] chapel: hs? [09:19] SubStack: high school split between there and alaska [09:19] tmpvar: mscdex, cakephp, the abstract factory + flywheel, eclipse + php dev tools + js dev tools + etc [09:19] chapel: oh yeah, you lived in ak right? [09:19] micheil: ryah: you're still about? [09:19] chapel: I lived in ak too [09:20] mscdex: yuck, eclipse [09:20] mscdex: :-D [09:20] Lorentz: I like eclipse [09:20] mscdex: speaking of which, netbeans dropped ruby support the other day [09:20] SubStack: what is netbeans anyhow [09:20] mscdex: another IDE [09:20] tmpvar: more java! [09:21] SubStack: I've heard that name so many times but never bothered to look into it [09:21] tmpvar: its.. better and worse than eclipse [09:21] SubStack: ick, java ide written in java [09:21] mscdex: i used it a couple times in college for some team projects but that's about it [09:21] Nomon: I have been using webstorm EAP for a month or so now [09:21] Nomon: well webstorm 2 EAP [09:21] SubStack: I got hooked on vim when I was 15 [09:21] mscdex: i've never really been an IDE fan [09:21] andrewfff has joined the channel [09:22] mscdex: give me notepad++/gedit or give me death! [09:22] SubStack: can gedit throw around indents like a boss? [09:23] ryah: im here, kind of [09:23] SubStack: a ryah appears [09:24] mscdex: how cool would it be to write an infocom interpreter in node? [09:24] mscdex: :-D [09:25] mscdex: that's go great with ncurses [09:26] SubStack: anyhow I ported another of pkrumins's C++ node things to v0.3 [09:27] ryah: what unit is element.offsetWidth and .offsetHeight? [09:27] garrensmith: SubStack: Vim for me as well [09:27] ryah: px ? [09:27] liar has joined the channel [09:27] tmpvar: ryah, yeah [09:29] opus_ has joined the channel [09:29] opus_: hey guys [09:29] opus_: is it possible to build node.js as a library? [09:30] SubStack: opus_: that sounds hard [09:30] ryah: i'm trying to get the width and height of a single character monospace font [09:30] ryah: so i made a little   thing [09:30] garrensmith: is nodejs the only server with the header Transfer-Encoding: chunked [09:30] jimt has joined the channel [09:30] ryah: but offsetWidth and offsetHeight don't appear to be very accurate [09:31] tmpvar: ryah, how so? [09:31] SubStack: maybe
[09:32] opus_: SubStack: yeah, I want to see if I can leverage the power of Node.JS into an app [09:32] tmpvar: ryah, you can measure a font width with a canvas pretty easily [09:32] tmpvar: if you want to go that route [09:33] mscdex: opus_: i believe you can configure it do compile as a library [09:34] garrensmith: opus_: what type of library? [09:34] opus_: a library I can link to with another program running its own main() [09:35] mscdex: opus_: https://github.com/ry/node/blob/master/wscript#L170 [09:35] SubStack: ryah: try this $('').css({ 'font-size' : 'monospace' }).text('x').appendTo($(document.body)).width() [09:35] tmpvar: garrensmith, no. set a Content-length and it wont chunk [09:35] SubStack: seems plausible, gives "8" for me [09:35] garrensmith: tmpvar: when is it good to send chunks? When streaming is required? [09:36] SubStack: oh hah [09:36] SubStack: font-size >_< [09:36] tmpvar: garrensmith, for multi-part responses [09:36] SubStack: $('').css({ 'font-family' : 'monospace' }).text('x').appendTo($(document.body)).width() [09:36] SubStack: 9 [09:36] garrensmith: tmpvar: cool thanks [09:37] SubStack: or .html(' ') gives the same value [09:38] opus_: has anyone had any success cross compiling Node JS for ARM? I'm getting an error [09:38] tmpvar: opus_, i'd check the mailing list [09:39] tmpvar: i vaguely recall yes, but i cant be certain [09:39] opus_: http://pastebin.com/YBCxjt8L [09:39] ryah: SubStack: can i do that without jquery? [09:39] opus_: tmpvar: thanks [09:39] SubStack: ryah: sure, but it's more typing [09:39] opus_: the error is in V8 so I guess its a google error [09:39] ryah: in particular what does .width() do? [09:39] opus_: but I know V8 compiles for ARM because of Android [09:41] SubStack: also palm uses arm and also node [09:41] tmpvar: ryah, https://github.com/jquery/jquery/blob/master/src/css.js#L157 [09:41] ilpoldo has joined the channel [09:41] tmpvar: i believe that is the entry point for w/h [09:43] tmpvar: ryah, i lied. a $(body).width.toString() beautified is: https://gist.github.com/802723 [09:43] ryah: uh? [09:44] ryah: looks confusing :) [09:44] SubStack: but useful! [09:44] tmpvar: ryah, can you use canvas? [09:44] SubStack: why no jquery? [09:44] tmpvar: lol [09:45] ryah: canvas? i'd rather not just to get the width of the font... [09:45] tmpvar: the dom/browser is a scary place.. jquery or canvas is your best (friendliest) bet [09:46] SubStack: also you can just