00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:08  * ircretaryjoined
00:02:16  * kenperkinsquit (Quit: Computer has gone to sleep.)
00:06:58  * mikolalysenkojoined
00:08:00  * djcoinquit (Quit: WeeChat 0.4.2)
00:16:41  <defunctzombie>is there a way I can force ECONNRESET?
00:16:55  <defunctzombie>I am trying to track down an ECONNRESET error that is making its way to the top level of my app
00:21:45  * jxsonquit (Remote host closed the connection)
00:22:04  * ceejbotquit (Remote host closed the connection)
00:34:43  * funkytekquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
00:36:10  * hoobdeeblajoined
00:43:02  * ceejbotjoined
00:47:19  <rowbit>Hourly usage stats: [developer: 0, free: 11]
00:48:14  * ceejbotquit (Ping timeout: 264 seconds)
00:51:07  * hoobdeeblaquit
00:51:27  <maksimlin>defunctzombie: try connecting to freenode - I keep seeing them all the time in my ircbot :-)
00:51:37  <defunctzombie>hahaha
00:52:09  <maksimlin>seriously though I had same prob myself and didnt find any easy way to test for it :-(
00:53:12  * AvianFluquit (Ping timeout: 240 seconds)
00:54:27  * ceejbotjoined
00:59:23  * ceejbotquit (Ping timeout: 255 seconds)
01:03:42  <jlord>groundwater: what kind of eletrical outlets are there in vancouver!?
01:03:52  <groundwater>jlord same
01:03:55  <groundwater>lol
01:04:10  <groundwater>it's a very sane question, but it also sounds very funny
01:04:53  <jlord>groundwater: they are the same as here?!
01:04:57  <jlord>It can't be!
01:05:33  <groundwater>jlord are you *there* now?
01:05:38  <groundwater>yes, they are 100% identical
01:06:21  <jlord>groundwater: will I even feel like I'm in another country?
01:07:13  <jlord>groundwater: haha I'm not there now, we leave tomorrow.
01:07:20  * ceejbotjoined
01:07:30  <groundwater>jlord more sushi, more rain
01:09:28  <ogd>groundwater: on a scale of 0 to 10 how much fun do you think me and jlord would have at a canucks game
01:09:47  <ogd>groundwater: follow-up question, would 80 dollar seats be proportionally as fun as 150 dollar seats
01:10:56  <ogd>man when did hockey get so expensive
01:13:09  <groundwater>ogd i'm not a hockey aficionado, but i imagine it would be a fun experience
01:13:29  <groundwater>ogd as for seats, almost all the seats in that stadium are good
01:13:53  <ogd>wHAT i thought all canadians are hocket afficionados
01:13:58  <groundwater>but the gain may be proportional, so since you'er only there once i'd probably go for the better seats
01:13:59  <ogd>maybe thats why you live in california now
01:14:22  * kriskowaljoined
01:14:55  * calvinfo1quit (Quit: Leaving.)
01:15:11  * calvinfojoined
01:16:34  <groundwater>ogd i'm just a bad sports fan in general
01:16:43  * Guest29335changed nick to ehd
01:16:47  <groundwater>but i do think you'll enjoy the game
01:23:13  * funkytekjoined
01:23:32  * indexzeroquit (Quit: indexzero)
01:24:24  * hughsk__quit (Ping timeout: 240 seconds)
01:27:24  * hughsk__joined
01:27:29  * guest12214quit (Quit: Connection closed for inactivity)
01:28:30  * ednapiranhajoined
01:33:26  * ednapiranhaquit (Read error: Connection reset by peer)
01:34:40  * funkytekquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
01:40:39  * thlorenzjoined
01:40:48  * grewebquit (Ping timeout: 240 seconds)
01:41:00  * phatedquit (Remote host closed the connection)
01:41:50  * grewebjoined
01:47:19  <rowbit>Hourly usage stats: [developer: 0, free: 15]
01:57:36  * mrb_bkquit (Quit: Connection closed for inactivity)
02:02:57  * calvinfo1joined
02:05:15  * calvinfoquit (Ping timeout: 244 seconds)
02:23:35  * ceejbotquit (Remote host closed the connection)
02:35:35  * thealphanerdquit (Quit: thealphanerd)
02:39:55  * dominictarrjoined
02:43:18  * DTrejojoined
02:47:19  <rowbit>Hourly usage stats: [developer: 0, free: 25]
02:51:34  * phatedjoined
02:53:33  <rowbit>substack, pkrumins: These encoders are STILL down: 184.106.106.66(dev-ie7-1)
02:54:33  <rowbit>substack, pkrumins: These encoders are STILL down: 50.57.171.229(dev-ie6-2)
02:56:24  * phatedquit (Ping timeout: 244 seconds)
03:02:45  <defunctzombie>if you are into bitcoin... some shit is going down
03:03:06  <defunctzombie>it appears that the end is here for mtgox (based on some initial reports and postings)
03:03:07  * joshwnjquit (Ping timeout: 244 seconds)
03:03:26  <defunctzombie>this is a monumental event if true
03:03:43  <dominictarr>jcrugzz, hey, what npm db should I use couch _changes from? isaacs.iriscouch is wrong
03:06:33  <jcrugzz>dominictarr: fullfatdb.npmjs.com is the one that has attachments. And yea isaacs.iriscouch is out of date and overly bloated
03:10:14  <dominictarr>jcrugzz, I don't care about attachments, just that it has all the documents
03:10:47  <dominictarr>and that I can use _changes feed
03:10:50  <jcrugzz>dominictarr: then listen on https://skimdb.npmjs.com
03:12:15  <dominictarr>thanks!
03:14:09  <dominictarr>jcrugzz, hmm, I just get a redirect
03:14:42  <jcrugzz>dominictarr: oh whoops i should have said https://skimdb.npmjs.com/registry
03:14:45  <jcrugzz>its the actual couch
03:15:04  <jcrugzz>and np :)
03:15:14  * collypopsjoined
03:15:32  <dominictarr>jcrugzz, thanks
03:15:37  <jcrugzz>dominictarr: I'd love to hear your impressions/questions around my post if you have any :)
03:17:02  <dominictarr>jcrugzz, it's totally the right approach - the best way to "resolve conflicts" is not to create them.
03:18:09  <dominictarr>a lot of people depend on npm, so it's difficult to fix an architectural issue like this, and the specifics may vary
03:19:24  <jcrugzz>dominictarr: yea whats important to me is that it stays open, replication works and its maintainable in the long term. As much hate as couch gets, it actually can handle attachments when it doesn't have MBs and MBs of them
03:20:01  <jcrugzz>you can always optimize speed with a CDN but it should be something open source imo if thats *necessary* ;)
03:20:39  <dominictarr>yeah, it's gotta be something that is still good in 10 years
03:21:50  <dominictarr>and is a positive example to other platforms - so that people implement npmlikes, or just use npm.
03:22:45  * jxsonjoined
03:23:59  <jcrugzz>exactly
03:26:56  * joshwnjjoined
03:27:31  * jxsonquit (Ping timeout: 272 seconds)
03:40:14  * rxgxquit (Quit: Connection closed for inactivity)
03:47:18  <rowbit>Daily usage stats: [developer: 2, free: 79]
03:47:19  <rowbit>Hourly usage stats: [developer: 0, free: 11]
03:51:11  <substack>defunctzombie: but how will I exchange magic the gathering cards now?
04:04:47  <defunctzombie>substack: hahaha
04:04:53  * joshwnjquit (Ping timeout: 272 seconds)
04:20:56  * DTrejoquit (Remote host closed the connection)
04:30:02  * joshwnjjoined
04:41:09  * ceejbotjoined
04:41:18  * thlorenzquit (Remote host closed the connection)
04:41:53  * thlorenzjoined
04:43:33  * ceejbotquit (Read error: Connection reset by peer)
04:43:39  * ceejbot_joined
04:46:03  * jxsonjoined
04:46:26  * thlorenzquit (Ping timeout: 264 seconds)
04:47:19  <rowbit>Hourly usage stats: [developer: 0, free: 25]
04:50:35  * jxsonquit (Ping timeout: 244 seconds)
04:50:35  * pfrazequit (Ping timeout: 244 seconds)
04:51:19  * thlorenzjoined
04:53:06  * thlorenzquit (Remote host closed the connection)
04:54:14  * dominictarrquit (Ping timeout: 264 seconds)
04:55:23  * DTrejojoined
05:05:57  * kriskowalpart
05:06:07  * anvaka__joined
05:07:12  * kriskowaljoined
05:16:23  * ceejbot_quit (Remote host closed the connection)
05:25:25  * ednapiranhajoined
05:34:15  * jxsonjoined
05:37:32  * phatedjoined
05:38:21  * funkytekjoined
05:42:02  * thlorenzjoined
05:45:00  * calvinfo1quit (Quit: Leaving.)
05:46:45  * kriskowalquit (Quit: kriskowal)
05:47:19  <rowbit>Hourly usage stats: [developer: 0, free: 26]
05:48:33  <rowbit>substack, pkrumins: These encoders are STILL down: 50.57.72.216(free8)
05:49:17  * dguttmanquit (Quit: dguttman)
05:54:12  * calvinfojoined
05:56:39  * thealphanerdjoined
05:56:42  * fotoveritequit (Quit: fotoverite)
06:03:18  * fotoveritejoined
06:05:58  * ednapiranhaquit (Quit: Leaving...)
06:06:19  * kenperkinsjoined
06:10:04  * thlorenzquit (Remote host closed the connection)
06:10:39  * thlorenzjoined
06:11:23  * fotoveritequit (Quit: fotoverite)
06:11:59  * phatedquit
06:13:12  * kenperkinsquit (Quit: Computer has gone to sleep.)
06:13:52  * phatedjoined
06:15:21  * thlorenzquit (Ping timeout: 272 seconds)
06:27:11  * kenperkinsjoined
06:33:33  * maksimlinquit (Quit: ChatZilla 0.9.90.1 [Firefox 27.0.1/20140218140359])
06:36:22  * phated_joined
06:36:22  * phatedquit (Read error: Connection reset by peer)
06:37:26  * phatedjoined
06:37:26  * phated_quit (Read error: Connection reset by peer)
06:39:49  * DTrejoquit
06:41:04  * funkytekquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
06:45:17  * joshwnjquit (Ping timeout: 244 seconds)
06:47:19  <rowbit>Hourly usage stats: [developer: 0, free: 26]
06:53:58  * phatedquit (Remote host closed the connection)
07:16:06  * Maciek416quit (Remote host closed the connection)
07:23:33  * kenperkinsquit (Quit: Computer has gone to sleep.)
07:26:50  * mikolalysenkoquit (Ping timeout: 246 seconds)
07:32:03  <rowbit>substack, pkrumins: At least 10 people waiting in the queue for free servers! (Waiting: 10)
07:34:15  * calvinfoquit (Quit: Leaving.)
07:35:30  * kriskowaljoined
07:40:38  * ins0mniajoined
07:42:33  * djcoinjoined
07:47:19  <rowbit>Hourly usage stats: [developer: 0, free: 20]
08:04:33  * phatedjoined
08:06:07  * thealphanerdquit (Quit: thealphanerd)
08:08:49  * phatedquit (Ping timeout: 246 seconds)
08:12:54  * jxsonquit (Remote host closed the connection)
08:16:17  * mikolalysenkojoined
08:21:27  * mikolalysenkoquit (Ping timeout: 267 seconds)
08:42:15  * ceejbotjoined
08:43:51  * WHARGARBLchanged nick to trodrigues
08:44:00  * trodriguesquit (Changing host)
08:44:00  * trodriguesjoined
08:47:02  * ceejbotquit (Ping timeout: 264 seconds)
08:47:19  <rowbit>Hourly usage stats: [developer: 0, free: 21]
08:53:33  <rowbit>substack, pkrumins: These encoders are STILL down: 184.106.106.66(dev-ie7-1)
08:54:24  * peutetrejoined
08:54:33  <rowbit>substack, pkrumins: These encoders are STILL down: 50.57.171.229(dev-ie6-2)
09:02:43  * shamaquit
09:12:34  * ralphtheninjajoined
09:13:01  * ralphtheninjapart
09:17:44  * mikolalysenkojoined
09:22:26  * mikolalysenkoquit (Ping timeout: 264 seconds)
09:42:46  * yorickjoined
09:47:19  <rowbit>Hourly usage stats: [developer: 0, free: 34]
09:51:23  * ferossquit (Quit: feross)
09:51:24  * feross_changed nick to feross
09:54:56  <guybrush>hey feross do you know about http://www.peersm.com ?
09:55:10  <guybrush>i found it after looking at https://github.com/Ayms/node-Tor
10:10:42  <guybrush>it looks like this is a pretty complete and working implementation of torrents via web
10:11:10  <guybrush>but im not sure, didnt even look at parts of the code :D just tried it
10:11:29  <guybrush>also it seems that its not fully open source yet
10:17:59  * mikolalysenkojoined
10:19:24  * rsolejoined
10:22:52  * mikolalysenkoquit (Ping timeout: 246 seconds)
10:43:39  * ceejbotjoined
10:47:19  <rowbit>Hourly usage stats: [developer: 0, free: 36]
10:48:19  * ceejbotquit (Ping timeout: 272 seconds)
10:49:54  <guybrush>oh after reading through all the doc this is actually not p2p haha, still interesting
10:51:12  * anvaka__quit (Ping timeout: 240 seconds)
11:20:09  * peutetre_joined
11:20:38  * peutetrequit (Ping timeout: 264 seconds)
11:20:38  * peutetre_changed nick to peutetre
11:34:12  * klusiasjoined
11:44:24  * ceejbotjoined
11:47:19  <rowbit>Hourly usage stats: [developer: 2, free: 16]
11:48:34  <rowbit>substack, pkrumins: These encoders are STILL down: 50.57.72.216(free8)
11:48:34  * ceejbotquit (Ping timeout: 244 seconds)
11:53:12  * Guest83958quit (Ping timeout: 240 seconds)
11:54:54  * ITprojoined
11:55:18  * ITprochanged nick to Guest91729
12:01:26  * Guest91729quit (Ping timeout: 264 seconds)
12:03:22  * ITpro_joined
12:20:52  * fotoveritejoined
12:21:10  * mikolalysenkojoined
12:25:46  * mikolalysenkoquit (Ping timeout: 244 seconds)
12:27:29  * ITpro_quit (Ping timeout: 246 seconds)
12:27:49  * ITpro_joined
12:30:51  * rsolequit (Ping timeout: 264 seconds)
12:45:12  * ceejbotjoined
12:47:19  <rowbit>Hourly usage stats: [developer: 0, free: 32]
12:49:49  * peutetrequit (Quit: peutetre)
12:50:02  * ceejbotquit (Ping timeout: 264 seconds)
13:13:15  * ceejbotjoined
13:21:53  * mikolalysenkojoined
13:23:15  * thlorenzjoined
13:23:25  * mikaelbpart
13:23:54  * thlorenzquit (Remote host closed the connection)
13:27:14  * mikolalysenkoquit (Ping timeout: 264 seconds)
13:32:04  <rowbit>substack, pkrumins: At least 10 people waiting in the queue for free servers! (Waiting: 24)
13:47:19  <rowbit>Hourly usage stats: [developer: 0, free: 29]
13:47:38  * thlorenzjoined
13:47:52  * kenperkinsjoined
13:47:56  * kenperkinsquit (Client Quit)
13:56:45  * ceejbotquit (Remote host closed the connection)
13:57:22  * ceejbotjoined
14:02:02  * ceejbotquit (Ping timeout: 264 seconds)
14:09:46  * pfrazejoined
14:15:46  * guybrushquit (Excess Flood)
14:16:12  * guybrushjoined
14:22:46  * ehdquit (Ping timeout: 436 seconds)
14:22:49  * mikolalysenkojoined
14:23:25  * kevino80joined
14:23:42  * ehdjoined
14:26:24  * AvianPhonejoined
14:27:42  * mikolalysenkoquit (Ping timeout: 244 seconds)
14:30:11  * kenperkinsjoined
14:38:21  <Altreus>If I ask how to syncronise a series of async operations that are one level away from me am I going to have to elaborate? :)
14:40:08  <Altreus>I'm looping over an array, which can be sync or async, and then for each item doing a mongo insert. The insert lets me specify a callback for *that* insertion but I have no way of determining when all callbacks are done, except with a counter of some type
14:40:22  <Altreus>this seems inelegant because then every callback contains a test against the counter
14:41:02  <Altreus>any ideas? I'm looking at the async library and drawing a blank
14:41:18  * kenperkinsquit (Remote host closed the connection)
14:42:06  * kenperkinsjoined
14:42:54  * thlorenzquit (Remote host closed the connection)
14:43:27  * thlorenzjoined
14:45:42  * kenperkinsquit (Client Quit)
14:47:19  <rowbit>Hourly usage stats: [developer: 0, free: 40]
14:47:50  * thlorenzquit (Ping timeout: 246 seconds)
14:53:34  <rowbit>substack, pkrumins: These encoders are STILL down: 184.106.106.66(dev-ie7-1)
14:53:37  * kenperkinsjoined
14:54:34  <rowbit>substack, pkrumins: These encoders are STILL down: 50.57.171.229(dev-ie6-2)
15:02:53  * owenb____joined
15:03:52  * ednapiranhajoined
15:09:48  * kenperkinsquit (Quit: Computer has gone to sleep.)
15:10:31  * AvianPhonequit (Ping timeout: 272 seconds)
15:12:03  * thlorenzjoined
15:23:29  * mikolalysenkojoined
15:26:18  * xaqjoined
15:28:24  * ednapiranhaquit (Remote host closed the connection)
15:28:53  * mikolalysenkoquit (Ping timeout: 272 seconds)
15:29:30  * mikolalysenkojoined
15:39:31  * ITpro_quit (Ping timeout: 244 seconds)
15:39:39  * ITprojoined
15:40:04  * ITprochanged nick to Guest10706
15:41:53  * Maciek416joined
15:44:14  * dguttmanjoined
15:47:19  <rowbit>Hourly usage stats: [developer: 0, free: 32]
15:50:28  * AvianFlujoined
16:03:22  * kenperkinsjoined
16:05:22  <creationix>jesusabdullah, I like your tweet
16:07:11  <jesusabdullah>creationix: YOU get it XD
16:07:50  <creationix>not sure I get what you were trying to say, but I've long thought that callbacks didn't belong in libuv
16:08:13  <creationix>and whatever JS or Lua binding was written for libuv didn't need callbacks either
16:08:22  <creationix>that could be added in userland by code that uses the bindings
16:08:43  <creationix>I know that would make bindings much easier to write and luajit run much faster
16:10:04  * kenperkinsquit (Quit: Computer has gone to sleep.)
16:15:17  <jesusabdullah>creationix: I meant in javascript land, where I can't think of a lower level abstraction to async
16:15:27  <jesusabdullah>creationix: in libuv? That's a whole nother ball game
16:16:08  <thlorenz>creationix: I'm not even sure how you'd remove callbacks from libuv (how would you express getting notified with the result of an async op)?
16:16:36  <creationix>to remove callbacks from libuv or a scripting language that binds to it (same task)
16:16:53  <creationix>you break the concept or the event loop forcing everything to be non-blockink
16:16:58  * ednapiranhajoined
16:17:09  <creationix>you allow putting the event loop into userspace
16:17:50  <creationix>once you allow putting the event loop into userspace (instead of being explicit), you can change how it works
16:18:04  * xaqquit (Remote host closed the connection)
16:18:11  <creationix>do instead of using callbacks to register event callbacks, you put some data marker in the original request
16:18:22  <creationix>and eventually, your data will come out of the blocking event loop as a return value
16:18:33  <creationix>which you then route to the right place, probably using userland callbacks
16:18:35  <thlorenz>creationix: interesting idea, I believe that'd be really hard to do, the entire libuv API depends on the event loop and callbacks
16:18:59  <creationix>thlorenz, oh, I know. I've talked to bert and ben about this. Basically, they think it's a great idea, but too late for libuv
16:19:30  <creationix>though I did have an idea to implement my idea on top of libuv
16:19:45  <creationix>my motivitaion was to be able to use luajit's FFI
16:19:53  <creationix>callbacks kill performance in luajit ffi
16:20:10  <creationix>like literally they change it from being near C speed, to slower than interpreted lua
16:20:29  <creationix>but if libuv didn't use callbacks and I had a C library I could FFI from lua, it would be blazing fast
16:20:47  <creationix>I would still use generators or callbacks for user code, but it would be lifted up a layer or two
16:20:53  <thlorenz>creationix: but if you build something on top of libuv how would that make things faster, you'd still use event loop and callbacks under the hood?
16:21:05  <creationix>thlorenz, that's fine, C callbacks are pretty fast in C
16:21:11  <creationix>it's callbacks from C to lua that's slow
16:21:15  <thlorenz>ah
16:21:51  <creationix>and having written libuv bindings for 4 different scripting engines, I can tell you, that's the hardest part to get right too
16:21:58  <thlorenz>creationix: so what would you expose to interact with libuv if it's not callback?
16:22:13  <creationix>so in libuv the event loop isn't implicit
16:22:18  <creationix>you have to explicitly call uv_run
16:22:29  <thlorenz>yes, so you can pass whatever you want
16:22:33  <creationix>and that blocks till there is an event (or in the default mode, till there are no more at all)
16:22:52  <creationix>in my proposed modification, it would block till the next event and then *return* the event
16:23:15  <creationix>you can put whatever metadata you want in the event when you register it. It could even be a lua function
16:23:32  <creationix>and then some lua routing code would extract the function and call it
16:23:56  <creationix>so the C <-> Lua interface would be vanilla sync function that returns value
16:24:12  <creationix>and userland code would still be callback based if you wanted
16:24:25  <creationix>(though I could then skip callbacks alltogether and use generators instead like copas does)
16:24:36  <creationix>s/generators/coroutines/
16:24:56  <thlorenz>interesting, so you'd spin up a different event loop for each event? - not sure I'm understanding
16:25:05  <creationix>no, there is still one event loop
16:25:10  <creationix>you can only block the thread once
16:26:08  <thlorenz>but it gets unblocked for each event instead of waiting til there are no more events?
16:26:27  <creationix>right, you can return NULL when there are no more events
16:26:38  <creationix>but if there are events pending, it will just block and wait
16:26:48  <creationix>uv_run does that already more-or-less
16:26:50  <pfraze>creationix, so in lua, you'd have access to that run()
16:26:57  <creationix>right
16:26:57  <pfraze>?
16:27:16  <pfraze>that's pretty interesting. How hard would it be to prototype?
16:27:28  <creationix>I wrote some bare libuv bindings for lua that expose run https://github.com/creationix/luv/blob/master/examples/test-timer.lua#L66-L68
16:27:40  <creationix>but that's still using callbacks from C into Lua
16:28:05  <creationix>pfraze, I'm only average at C, so writing the wrapping API is hard for me
16:28:15  <creationix>but I think it should be possible
16:28:43  <creationix>pfraze, once there is a wrapper API, even for a subset of the libuv API, someone could write quick FFI bindings to test it out
16:29:20  <pfraze>creationix, where's our open-source research fund when we need it
16:30:40  <creationix>I started on a prototype for this, but I can't seem to find it
16:30:45  <creationix>I have too many github projects (~300)
16:32:35  <creationix>oh well, it didn't get very far anyway
16:32:56  <creationix>pfraze, cloud9 was funding libuv research, but then money got tight
16:34:06  <pfraze>creationix, too bad. I would like a scripting env that lived outside the event loop... 10x better if near-C speed
16:34:37  <creationix>Mike Pall (the author of luajit) says to just ffi epoll directly
16:34:42  <creationix>but that's not very cross-platform
16:34:57  <creationix>I want the primitives in libuv in a ffi friendly API
16:35:24  <pfraze>could do that for a quick proof-of-concept
16:35:38  * xaqjoined
16:35:47  * shamajoined
16:38:39  * dlmanningquit (Ping timeout: 264 seconds)
16:39:01  <creationix>pfraze, go for it. I'm already drowning in unpaid experiments
16:39:48  <pfraze>creationix, I'll put it in my stack. Always wanted to learn a bit about ffi bindings
16:40:29  <creationix>pfraze, now, keep in mind that most FFI interfaces are actually slower than C bindings
16:40:42  <creationix>but luajit is special. It's FFI is baked into the JIT engine and is super fast
16:41:12  <pfraze>creationix, I didn't know they were distinct. Is FFI more generalized than c bindings?
16:41:22  <creationix>FFI is run-time
16:41:38  <creationix>you define the C interface from a lua script, dlopen the library and call it
16:41:44  <creationix>you don't compile against it
16:42:03  <pfraze>ok, and I guess the alternative is like a statc link?
16:42:13  <creationix>C bindings, you write glue code in C that includes lua and libuv headers and does conversions between them
16:42:26  <creationix>they also dlopen usually
16:42:44  <creationix>with node, the native addons dlopen
16:43:10  <creationix>a node addon is just a C library that has a specefic interface that V8 and node know how to use
16:43:19  <creationix>same with a luvit addon using the lua C api
16:44:00  <pfraze>ok interesting
16:44:03  <creationix>C bindings are written in C and compiled. FFI bindings are written in the scripting language and not compiled
16:44:41  <creationix>the only reason we don't use ffi for everything it because it's generally slow
16:44:47  <creationix>luajit is an exception to that
16:47:11  <pfraze>creationix, cool, thanks for the primer. If I get a chance to dive into it, I'll ping you
16:47:19  <rowbit>Hourly usage stats: [developer: 0, free: 42]
16:47:19  <creationix>ok
16:52:49  * mrb_bkjoined
17:02:30  * shamaquit (Remote host closed the connection)
17:02:41  * shamajoined
17:05:50  <timoxley>creationix: very interesting
17:08:42  <creationix>timoxley, thanks
17:11:56  * kevino80quit (Remote host closed the connection)
17:15:53  * DTrejojoined
17:17:33  <thlorenz>calvinmetcalf: derequire is super slow for me (makes my test time out actually) any idea why that is?
17:18:34  <thlorenz>the derequire tests itself run quite fast, but when calling it from where I need it, it is sooo slow
17:19:43  <calvinmetcalf>how big is your thing ?
17:19:55  <thlorenz>super small, it's a test case in browserify-shim
17:20:02  <thlorenz>I'm not sure what's happening
17:20:18  <calvinmetcalf>can you link me?
17:20:36  <thlorenz>calvinmetcalf: nm - it's not derequire, lower in the chain -- sorry
17:20:53  <thlorenz>but it'd be nice if you could merge my PR - that will optimize it still :)
17:21:08  <calvinmetcalf>doing that right now
17:21:13  <thlorenz>awesome
17:21:20  <calvinmetcalf>had to add a test to get back up to 100% coverage
17:21:35  <thlorenz>ah - wasn't aware you had coverage
17:22:26  <calvinmetcalf>done boom
17:23:05  <thlorenz>thanks will use that now instead of my fork
17:27:33  * phatedjoined
17:28:01  * kenperkinsjoined
17:32:13  <thlorenz>calvinmetcalf: found a case that it doesn't handle (nested require inside if), pushing a failing test in a sec
17:34:30  <thlorenz>calvinmetcalf: why are you hashing the strings to compare in your tests, that makes for useless test failure output?
17:37:08  <DTrejo>derequire makes it easy to shim require?
17:37:09  <DTrejo>or something?
17:37:52  <DTrejo>working with esprima is pretty fun..
17:38:00  <thlorenz>calvinmetcalf: I'm gonna rewrite this with detective similarly to https://github.com/thlorenz/exposify/blob/master/expose.js
17:38:16  <thlorenz>that will also allow replacements to have any length since I'll keep track of the offset
17:38:32  <thlorenz>will you accept a PR for that or should I just make my own module?
17:38:56  <calvinmetcalf>hey
17:39:03  <calvinmetcalf>sorry wasn't paying attention
17:40:13  <calvinmetcalf>DTrejo: derequire makes it so that other libraries (**cough** dojo **cough**) don't see internal requires and try to download them
17:40:24  <calvinmetcalf>hashing strings?
17:40:30  <DTrejo>oh
17:40:34  <calvinmetcalf>thlorenz: I don't understand
17:40:37  <DTrejo>oh dojo... I used that on a project once
17:41:16  <DTrejo>they were like migrate from mootools to dojo! and then "actually we're going to use jquery now, but just leave the dojo as-is for now"
17:41:26  <calvinmetcalf>thlorenz:
17:41:34  <calvinmetcalf>ok I see that is just for that one massive test file
17:41:50  <calvinmetcalf>so it dosn't crash my terminal when it tries to compare them
17:41:53  <thlorenz>calvinmetcalf: ah, ok well doesn't matter
17:42:05  <thlorenz>will you accept a total rewrite PR?
17:42:31  <thlorenz>I have something that's working for exposify, I'd just adjust that a bit to work for any require
17:42:51  <thlorenz>calvinmetcalf: if not that is fine, and I'll write a *competing* module :P
17:43:07  <calvinmetcalf>thlorenz: that case your talking about is intentional, it only rewrites requries that are bound to functions if you wrapped it in a function(require){blah} it would work
17:43:19  <thlorenz>the entire es-travers stuff is way too complex, detective is much more reliable
17:43:34  <thlorenz>ah, ok, well then I do need to make my own module
17:43:44  <thlorenz>since I want to replace ALL requires
17:44:00  <thlorenz>calvinmetcalf: thanks
17:44:34  <calvinmetcalf>do it as a pull, im not sure the benifit from using estreverse is worth it
17:44:55  <thlorenz>calvinmetcalf: but I don't want to break your usecase?
17:45:04  <thlorenz>when would I want to keep script level requires?
17:45:30  <thlorenz>so if I rewrite it to replace ALL requires you'll accept the PR and it won't break anyone?
17:45:31  <calvinmetcalf>exactly I'm not sure if that use case is worth saving
17:45:43  <thlorenz>ok, got it - PR in the works then
17:45:47  <calvinmetcalf>thlorenz: I'll do it as a major version bump just in case
17:45:54  <thlorenz>sounds good
17:46:31  <calvinmetcalf>because if we don't have to parse the code with esprima we can put it earlier in the browserify process where it gets invalid js
17:46:55  <calvinmetcalf>which would allow us to avoid parsing no-parse files
17:47:19  <rowbit>Hourly usage stats: [developer: 1, free: 41]
17:48:35  <rowbit>substack, pkrumins: These encoders are STILL down: 50.57.72.216(free8)
17:49:28  * kenperkinsquit (Quit: Computer has gone to sleep.)
17:51:45  * indexzerojoined
17:54:40  * xaqquit (Remote host closed the connection)
17:56:54  * thealphanerdjoined
17:58:02  * dguttmanquit (Quit: dguttman)
17:58:36  <thlorenz>calvinmetcalf: I suppose it doesn't matter that it uses quotes even if original require used single quotes right?
18:02:04  <thlorenz>calvinmetcalf: I see now that you are actually replacing 'require' args as well
18:02:12  <thlorenz>in that case detective won't work
18:02:33  * thlorenzis starting to understand derequire
18:02:40  <calvinmetcalf>yeah
18:03:02  <calvinmetcalf>though if we wanted to write something just for browserify
18:03:15  <thlorenz>ok, so never mind it won't be a rewrite
18:04:22  * thealphanerd_joined
18:04:32  <thlorenz>I'll just try to fix that case I mentioned instead
18:05:00  <calvinmetcalf>so if you wrap your whole code in a !function (require) {}
18:06:15  * Guest15224quit (Ping timeout: 244 seconds)
18:07:07  * thealphanerdquit (Ping timeout: 244 seconds)
18:07:08  * DTrejoquit (Read error: Connection reset by peer)
18:07:08  * thealphanerd_changed nick to thealphanerd
18:07:09  * thlorenzquit (Read error: Connection reset by peer)
18:07:24  * prettyrobots_joined
18:07:29  * thlorenzjoined
18:07:34  * DTrejojoined
18:07:48  * prettyrobots_changed nick to Guest37960
18:15:09  * tobiejoined
18:16:22  * tobiequit (Client Quit)
18:16:22  * tobie_changed nick to tobie
18:16:55  * calvinfojoined
18:17:02  * Guest10706quit (Ping timeout: 264 seconds)
18:17:10  * ITprojoined
18:17:34  * ITprochanged nick to Guest75952
18:20:09  * indexzeroquit (Quit: indexzero)
18:21:05  * hughsk__quit (Ping timeout: 279 seconds)
18:21:05  * gozalaquit (Ping timeout: 279 seconds)
18:21:30  * gozalajoined
18:22:11  * hughsk__joined
18:22:54  * jan____quit (Ping timeout: 983 seconds)
18:23:38  * jan____-joined
18:24:12  <ins0mnia>anyone happens to know when ECDH support is coming to node?
18:24:19  * jan____-changed nick to jan____
18:25:49  * thlorenzquit (Remote host closed the connection)
18:30:44  * phatedquit (Read error: Connection reset by peer)
18:31:13  * phatedjoined
18:34:37  * h0kejoined
18:34:58  * stagasjoined
18:38:11  * thlorenzjoined
18:42:03  * kevino80joined
18:46:27  * dguttmanjoined
18:47:19  <rowbit>Hourly usage stats: [developer: 6, free: 48]
18:51:42  * kenperkinsjoined
18:55:59  * feross_joined
18:56:20  * dguttmanquit (Quit: dguttman)
18:59:38  * mikolalysenkoquit (Ping timeout: 264 seconds)
19:02:31  * Raynosquit (Ping timeout: 265 seconds)
19:04:04  * mikolalysenkojoined
19:04:11  * Raynos_joined
19:06:00  * dguttmanjoined
19:07:26  * nickleefly___quit (Ping timeout: 245 seconds)
19:07:51  * gozalaquit (Ping timeout: 245 seconds)
19:08:41  * daleharveyquit (Ping timeout: 245 seconds)
19:09:06  * addisonjquit (Ping timeout: 245 seconds)
19:09:50  * gozalajoined
19:09:56  * parshapquit (Ping timeout: 245 seconds)
19:10:21  * Raynos_quit (Ping timeout: 245 seconds)
19:10:39  * kevino80quit (Remote host closed the connection)
19:11:08  * daleharveyjoined
19:11:29  * nickleefly___joined
19:11:38  * kevino80joined
19:12:33  * addisonjjoined
19:13:27  * parshapjoined
19:13:56  * Raynos_joined
19:23:02  * thealphanerdquit (Quit: thealphanerd)
19:24:18  <jesusabdullah>ogd: with concat-stream, do I listen for an "error" event if I don't want shit to asplode?
19:27:17  * kenperkinsquit (Quit: Computer has gone to sleep.)
19:28:19  <thlorenz>jesusabdullah: stream errors don't bubble, so you have to add an on('error', ..) handler above every pipe
19:28:19  * kenperkinsjoined
19:32:05  <rowbit>substack, pkrumins: At least 10 people waiting in the queue for free servers! (Waiting: 36)
19:33:50  <jesusabdullah>thlorenz: above? clarify?
19:34:14  <thlorenz>so if you pipe one stream into another, each stream needs it's own error handler
19:34:45  <thlorenz>i.e. you'd have s1.on('error').pipe(tx).on('error').pipe(tx2)
19:36:59  <jesusabdullah>uhuh
19:37:23  <jesusabdullah>okay
19:38:05  <rowbit>/!\ ATTENTION: (default-local) jonathan@... successfully signed up for developer browserling plan ($20). Cash money! /!\
19:38:06  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
19:47:19  <rowbit>Hourly usage stats: [developer: 3, free: 35]
19:48:53  * hij1nxjoined
19:48:53  * hij1nxquit (Client Quit)
19:49:00  * hij1nx_quit (Quit: leaving)
19:49:09  * hij1nxjoined
19:51:12  * xaqjoined
19:52:53  * indexzerojoined
19:53:14  * indexzeroquit (Client Quit)
20:01:38  * xaqquit (Remote host closed the connection)
20:06:10  * kenperkinsquit (Remote host closed the connection)
20:06:56  * kenperkinsjoined
20:07:27  * Kesslerjoined
20:08:35  <rowbit>substack, pkrumins: A developer is waiting in the queue for explorer/8.0
20:09:26  * Guest18503changed nick to sindresorhus
20:10:46  * funkytekjoined
20:19:20  <ogd>jesusabdullah: you listen for errors on whatever stream you are piping into concat-stream
20:19:24  <ogd>jesusabdullah: also https://github.com/visionmedia/node-mongroup/pull/7
20:19:29  <ogd>jesusabdullah: plz +1 it :D
20:20:44  <Domenic_>this lack of stream error bubbling is something i think we can fix nicely in whatwg/streams. explained at around 28:07 at http://www.ustream.tv/recorded/43963594
20:21:28  <ogd>its not broken, its just a low level api
20:21:39  <ogd>(just for clarity)
20:22:32  * kevino80quit (Remote host closed the connection)
20:30:14  * kevino80joined
20:30:23  <substack>https://soundcloud.com/substack/chirp
20:30:49  * jxsonjoined
20:31:14  <jesusabdullah>ogd: Done
20:41:35  * tilgovijoined
20:47:19  <rowbit>Hourly usage stats: [developer: 6, free: 42]
20:48:08  * thealphanerdjoined
20:53:35  <rowbit>substack, pkrumins: These encoders are STILL down: 184.106.106.66(dev-ie7-1)
20:54:35  <rowbit>substack, pkrumins: These encoders are STILL down: 50.57.171.229(dev-ie6-2)
20:55:56  * contrahaxquit (Quit: Sleeping)
20:57:09  <rowbit>/!\ ATTENTION: (default-local) dan.wetherill@... successfully signed up for developer browserling plan ($20). Cash money! /!\
20:57:10  <rowbit>/!\ ATTENTION: (default-local) paid account successfully upgraded /!\
21:03:07  * kenperkinsquit (Quit: Computer has gone to sleep.)
21:05:52  * dominictarrjoined
21:06:14  * funkytekquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:09:55  <thlorenz>calvinmetcalf: Ember: 1 derequire: 0 https://github.com/calvinmetcalf/derequire/pull/9
21:10:13  <thlorenz>I hate incorrectly authored/installed libs so much
21:10:42  * h0kequit (Ping timeout: 244 seconds)
21:11:10  <dominictarr>substack, hey trying to specify the syntax for json-select better
21:11:33  <dominictarr>the tricky part is that sometimes you want to grab the first value in a match
21:11:38  <dominictarr>but other times you want a collection
21:12:19  <dominictarr>what if you use a function in the path syntax?
21:12:59  <dominictarr>maybe just use the object it returns?
21:13:00  * Maciek416quit (Remote host closed the connection)
21:14:05  <calvinmetcalf>thlorenz, its because it swallows errors, I need to add a verbose mode
21:14:24  <thlorenz>calvinmetcalf: that shit's broken :)
21:14:45  <thlorenz>I'm writing another module for now that only removes calls to require since that is all I need
21:17:29  * tilgoviquit (Ping timeout: 269 seconds)
21:18:20  * contrahaxjoined
21:19:27  * jxsonquit (Remote host closed the connection)
21:19:30  * tilgovijoined
21:22:48  * h0kejoined
21:25:19  <calvinmetcalf>requirejs = require = requireModule = function(name) {
21:25:25  <calvinmetcalf>line 222
21:25:35  <calvinmetcalf>it's bound to that require not the global one
21:27:12  <calvinmetcalf>so thlorenz it isn't bound to your wrapper
21:27:50  <thlorenz>ok, but the point is I want it to be renamed and it doesn't
21:27:57  <thlorenz>I don't care about what it's bound to
21:28:13  <thlorenz>I just want browserify to stop looking for these modules that don't exist
21:28:38  <thlorenz>so I'm about to publish rename-function-call that does exactly just that
21:28:48  <thlorenz>it'll work for any function including require
21:30:37  <calvinmetcalf>why don't you just use ignore missing?
21:31:27  <calvinmetcalf>derequire just renames ones that have now been bound to the browserify require, if isn't bound to the browserify require it isn't renamed by this
21:32:43  * xaqjoined
21:32:57  <thlorenz>ok, well I guess i need something slightly different (before the bundleing)
21:33:12  <calvinmetcalf>yeah you need to get in earlier
21:33:34  <calvinmetcalf>so that explains your frustration with derequire, you were trying to do something else
21:34:01  <calvinmetcalf>anywho im heading good, I look forward to seeing the module
21:36:51  * dominictarrquit (Ping timeout: 272 seconds)
21:37:46  <thlorenz>calvinmetcalf: cool, thanks for your help - it must be that I tried to use it for wrong purpose
21:38:05  * thlorenzreminds himself that reinventing the wheel is not always a bad thing
21:40:56  * addisonjquit (Quit: Connection closed for inactivity)
21:45:45  * jan____quit (Changing host)
21:45:45  * jan____joined
21:47:14  * Maciek416joined
21:47:19  <rowbit>Hourly usage stats: [developer: 2, free: 56]
21:49:02  * kevino80quit (Remote host closed the connection)
21:50:58  * funkytekjoined
21:52:13  * kevino80joined
21:53:50  <brianloveswords>substack: didn't you have a project called "beepboop" that was for audio generation? Did you delete it or rename it OR AM I CRAZY?
21:54:05  <substack>brianloveswords: baudio
21:54:40  * xaqquit (Remote host closed the connection)
21:55:00  <substack>brianloveswords: https://www.youtube.com/watch?v=2oz_SwhBixs
21:55:15  * phatedquit (Remote host closed the connection)
21:59:47  * tilgoviquit (Ping timeout: 244 seconds)
22:01:26  * ins0mniaquit (Ping timeout: 264 seconds)
22:04:16  <brianloveswords>substack: radical, thanks :D
22:04:21  * wolfeidauquit
22:07:56  * dominictarrjoined
22:11:44  * wolfeidaujoined
22:12:19  * tilgovijoined
22:17:05  <rowbit>substack, pkrumins: Encoders down: 50.56.32.168 (dev4)
22:18:01  * tilgoviquit (Ping timeout: 272 seconds)
22:19:40  * tilgovijoined
22:19:58  * contrahaxquit (Quit: Sleeping)
22:21:44  * jxsonjoined
22:22:14  * djcoinquit (Write error: Broken pipe)
22:24:36  * contrahaxjoined
22:25:34  * tilgoviquit (Read error: No route to host)
22:26:30  * tilgovijoined
22:30:10  * jxsonquit
22:34:36  * addisonjjoined
22:35:01  * fuzjoined
22:39:20  * jxsonjoined
22:41:23  * Raynos_quit (Ping timeout: 246 seconds)
22:41:36  * parshapquit (Ping timeout: 245 seconds)
22:43:28  * parshapjoined
22:44:14  * Raynos_joined
22:46:36  * Maciek416quit (Remote host closed the connection)
22:47:19  <rowbit>Hourly usage stats: [developer: 1, free: 39]
22:48:53  * Raynos_changed nick to Raynos
22:49:05  * funkytekquit (Ping timeout: 246 seconds)
22:50:29  * contrahaxquit (Ping timeout: 246 seconds)
22:54:50  * contrahaxjoined
22:55:26  * phatedjoined
22:58:10  * mikolalysenkoquit (Ping timeout: 244 seconds)
22:59:11  * h0kequit (Ping timeout: 272 seconds)
22:59:34  * tmcwjoined
23:00:13  * joshwnjjoined
23:02:11  * funkytekjoined
23:16:38  * tmcwquit
23:17:03  * funkytekquit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
23:17:06  * contrahaxquit (Quit: Sleeping)
23:26:45  * maksimlinjoined
23:26:59  * rxgxjoined
23:31:52  * dominictarrquit (Remote host closed the connection)
23:33:47  * jxsonquit (Remote host closed the connection)
23:34:39  * Kesslerquit (Ping timeout: 272 seconds)
23:38:50  * kevino80quit (Remote host closed the connection)
23:43:59  <isaacs>substack: https://twitter.com/substack/status/438457453672296449 <-- just wait, man
23:44:04  <isaacs>substack: it's coming to the website soon.
23:44:40  * tilgoviquit (Ping timeout: 244 seconds)
23:45:13  <substack>isaacs: what will happen if I start storing arbitrary metadata in stars?
23:45:30  <isaacs>substack: not allowed
23:45:38  <isaacs>substack: only boolean values allowed in the "users" field.
23:45:51  <isaacs>substack: otherwise it's a dos
23:45:51  * tilgovijoined
23:45:52  <substack>drat there goes my plan for ta[Dgging
23:46:06  <isaacs>ta[Dgging?
23:46:10  <substack>tagging
23:46:13  <isaacs>oh, right
23:46:15  <isaacs>yeah, that's planned.
23:46:33  <isaacs>but we have to think through a data model that will scale to 50k users * 100k packages.
23:46:46  <isaacs>and also be searchable, sortable, etc.
23:46:51  <substack>cool
23:46:53  <isaacs>not just "throw a pile of crap on the couch"
23:46:59  <isaacs>that works for small piles.
23:47:01  <isaacs>not for big ones
23:47:19  <rowbit>Hourly usage stats: [developer: 2, free: 29]
23:47:30  <substack>isaacs: in your new office yet?
23:47:39  * phatedquit (Read error: Connection reset by peer)
23:47:49  <isaacs>not yet, no
23:47:53  <isaacs>but we've seen it! it's awesome.
23:47:56  <substack>rad
23:48:03  * substackis going to get a burrito pretty soon
23:48:06  * phatedjoined
23:48:08  <isaacs>we're gonna make npm the literal as well as figurative center of Oakland JavaScript community
23:48:21  * substackis at tierra mia on broadway
23:48:24  <AvianFlu>I kinda miss dealing with couchdb under load
23:48:32  <AvianFlu>mongo's problems are just so much sillier and more pointless
23:48:49  <substack>isaacs: I got a bunch of stickers from rockbot already
23:48:56  <substack>you should start seeing them around town
23:49:02  <isaacs>substack: <3 <3 <3
23:49:25  <isaacs>there should be no bike lock bars without npm stickers on them
23:49:32  <substack>that's the plan
23:59:08  * mikolalysenkojoined