00:00:01  * ircretaryquit (Remote host closed the connection)
00:00:09  * mcollinaquit (Ping timeout: 272 seconds)
00:00:09  * ircretaryjoined
00:03:47  * toddselfquit (Ping timeout: 246 seconds)
00:04:24  * thlorenzquit (Ping timeout: 252 seconds)
00:05:06  * ednapiranhaquit (Quit: Leaving...)
00:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 14]
00:17:53  * cianomaidinjoined
00:18:27  * kevino80joined
00:19:07  * kevino80quit (Read error: Connection reset by peer)
00:20:06  * kevinswiberjoined
00:20:34  * kevino80joined
00:22:26  * tmcwquit (Remote host closed the connection)
00:27:20  * kevinswiberquit (Remote host closed the connection)
00:27:32  * shamajoined
00:27:54  * kevinswiberjoined
00:28:45  * timoxleyquit (Remote host closed the connection)
00:29:04  * timoxleyjoined
00:31:30  * kevinswi_joined
00:31:50  * kevinswiberquit (Ping timeout: 240 seconds)
00:36:39  * tmcwjoined
00:37:00  * thlorenzjoined
00:38:35  * cianomaidinquit (Quit: cianomaidin)
00:42:06  * thlorenzquit (Ping timeout: 244 seconds)
00:46:01  * thlorenzjoined
00:46:58  * tmcwquit (Remote host closed the connection)
00:47:48  * jergasonquit (Quit: jergason)
00:50:39  * jiangplusjoined
00:53:38  * toddselfjoined
00:55:07  * tmcwjoined
00:55:17  * kevino80quit (Remote host closed the connection)
00:55:44  * kevino80joined
00:55:44  * mcollinajoined
00:58:16  * toddselfquit (Ping timeout: 265 seconds)
01:00:07  * kevino80quit (Ping timeout: 246 seconds)
01:00:11  * mcollinaquit (Ping timeout: 244 seconds)
01:01:53  * ferossjoined
01:03:47  * maksimlinjoined
01:11:30  * yorickquit (Remote host closed the connection)
01:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 23]
01:33:46  * cianomaidinjoined
01:33:52  * thlorenzquit (Read error: Connection reset by peer)
01:34:13  * thlorenzjoined
01:37:25  * thlorenzquit (Remote host closed the connection)
01:38:24  <rowbit>substack, pkrumins: These encoders are STILL down: 173.203.67.76(free3)
01:39:33  * cianomaidinquit (Quit: cianomaidin)
01:39:39  * kevino80joined
01:39:43  * kevino80quit (Read error: Connection reset by peer)
01:40:05  * kevino80joined
01:40:06  * enjaworkquit (Ping timeout: 252 seconds)
01:40:43  * kevino80quit (Client Quit)
01:41:27  * kevinswi_quit (Remote host closed the connection)
01:41:29  * enjaworkjoined
01:42:02  * kevinswiberjoined
01:46:09  * defunctzombiechanged nick to defunctzombie_zz
01:46:19  * kevinswiberquit (Ping timeout: 246 seconds)
01:47:50  * enjaworkquit (Read error: Operation timed out)
01:47:54  * toddselfjoined
01:49:27  * jxsonquit (Remote host closed the connection)
01:50:01  * jxsonjoined
01:50:15  * jxsonquit (Read error: Connection reset by peer)
01:50:46  * jxsonjoined
01:51:39  * enjaworkjoined
01:52:15  * toddselfquit (Ping timeout: 260 seconds)
01:52:46  * cianomaidinjoined
01:52:58  * defunctzombie_zzchanged nick to defunctzombie
01:55:04  * jxsonquit (Ping timeout: 246 seconds)
01:56:33  * mcollinajoined
01:57:44  * cianomaidinquit (Quit: cianomaidin)
01:59:43  * williamcottonquit (Quit: williamcotton)
02:00:55  * mcollinaquit (Ping timeout: 252 seconds)
02:04:27  * jergasonjoined
02:04:33  * tmcwquit (Remote host closed the connection)
02:04:59  * tmcwjoined
02:05:06  * tmcwquit (Remote host closed the connection)
02:05:15  * tmcwjoined
02:08:39  * thlorenzjoined
02:12:53  * tmcwquit
02:13:02  * thlorenzquit (Ping timeout: 240 seconds)
02:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 25]
02:29:06  * ferossquit (Quit: feross)
02:33:19  * jcrugzzquit (Ping timeout: 260 seconds)
02:42:09  * toddselfjoined
02:42:39  * ins0mniaquit (Ping timeout: 260 seconds)
02:43:32  * toddselfquit (Read error: Connection reset by peer)
02:43:47  * toddselfjoined
02:45:06  * ins0mniajoined
02:48:28  * toddselfquit (Ping timeout: 265 seconds)
02:52:58  * jcrugzzjoined
02:57:26  * mcollinajoined
03:02:33  * mcollinaquit (Ping timeout: 272 seconds)
03:09:23  * thlorenzjoined
03:14:05  * thlorenzquit (Ping timeout: 265 seconds)
03:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 20]
03:29:19  * enjaworkquit (Ping timeout: 260 seconds)
03:32:54  * enjaworkjoined
03:37:39  * AvianFlujoined
03:38:04  * toddselfjoined
03:39:55  * ins0mniaquit (Ping timeout: 272 seconds)
03:41:02  * jergasonquit (Quit: jergason)
03:43:05  * toddselfquit (Ping timeout: 272 seconds)
03:54:28  * Maciek416quit (Remote host closed the connection)
03:55:01  * Maciek416joined
03:56:45  * Maciek416_joined
03:56:54  <rowbit>substack, pkrumins: These encoders are STILL down: 50.57.103.135(free2)
03:58:11  * mcollinajoined
03:59:19  * Maciek416quit (Ping timeout: 246 seconds)
04:02:33  * mcollinaquit (Ping timeout: 252 seconds)
04:06:54  <rowbit>substack, pkrumins: Encoders down: 173.203.67.76 (free3)
04:07:06  * defunctzombiechanged nick to defunctzombie_zz
04:09:21  * Maciek416_changed nick to Maciek416
04:10:15  * thlorenzjoined
04:14:27  * thlorenzquit (Ping timeout: 244 seconds)
04:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 22]
04:32:13  * toddselfjoined
04:32:47  * DTrejoquit (Remote host closed the connection)
04:33:23  * DTrejojoined
04:36:39  * toddselfquit (Ping timeout: 252 seconds)
04:37:28  * DTrejoquit (Ping timeout: 246 seconds)
04:45:51  * anvakajoined
04:58:53  * mcollinajoined
05:03:09  * mcollinaquit (Ping timeout: 252 seconds)
05:11:08  * thlorenzjoined
05:11:26  * jxsonjoined
05:12:44  * jxsonquit (Remote host closed the connection)
05:13:12  * jxsonjoined
05:15:26  * thlorenzquit (Ping timeout: 240 seconds)
05:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 145]
05:17:03  * jxson_joined
05:18:03  * jxsonquit (Remote host closed the connection)
05:26:27  * toddselfjoined
05:30:38  * toddselfquit (Ping timeout: 240 seconds)
05:37:33  * kevinswiberjoined
05:38:24  <rowbit>substack, pkrumins: Encoders down: 50.57.103.135 (free2)
05:41:07  * grncdrjoined
05:42:19  * jxson_quit (Remote host closed the connection)
05:42:47  * jxsonjoined
05:43:07  * jxsonquit (Remote host closed the connection)
05:43:52  * AvianFluquit (Remote host closed the connection)
05:45:28  * grncdrquit (Client Quit)
05:46:03  * grncdrjoined
05:47:14  * jxsonjoined
05:51:14  * defunctzombie_zzchanged nick to defunctzombie
05:53:35  * jcrugzzquit (Ping timeout: 265 seconds)
05:59:39  * mcollinajoined
06:00:33  * shamaquit
06:03:22  * Maciek416quit (Remote host closed the connection)
06:03:50  * mcollinaquit (Ping timeout: 240 seconds)
06:03:55  * Maciek416joined
06:08:07  * Maciek416quit (Ping timeout: 246 seconds)
06:08:23  * kevinswiberquit (Remote host closed the connection)
06:08:27  * jcrugzzjoined
06:08:34  * jiangplusquit (Ping timeout: 265 seconds)
06:08:51  * kevinswiberjoined
06:10:35  * timoxleyquit (Remote host closed the connection)
06:11:10  * timoxleyjoined
06:12:00  * thlorenzjoined
06:13:49  * kevinswiberquit (Ping timeout: 272 seconds)
06:15:49  * timoxleyquit (Ping timeout: 265 seconds)
06:16:44  <rowbit>Daily usage stats: [developer: 0, free: 1388]
06:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 39]
06:20:42  * toddselfjoined
06:25:02  * toddselfquit (Ping timeout: 240 seconds)
06:25:39  * defunctzombiechanged nick to defunctzombie_zz
06:25:51  * thlorenzquit (Ping timeout: 272 seconds)
06:31:23  * jolissjoined
06:39:53  * ferossjoined
06:54:26  * AvianFlujoined
06:58:50  * AvianFluquit (Ping timeout: 265 seconds)
07:00:28  * mcollinajoined
07:05:02  * mcollinaquit (Ping timeout: 240 seconds)
07:10:22  * timoxleyjoined
07:14:53  * toddselfjoined
07:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 41]
07:19:23  * toddselfquit (Ping timeout: 260 seconds)
07:22:44  * thlorenz_joined
07:23:47  * jcrugzz_joined
07:25:55  * jcrugzzquit (Ping timeout: 260 seconds)
07:26:53  * thlorenz_quit (Ping timeout: 246 seconds)
07:38:20  * jxsonquit (Remote host closed the connection)
07:39:52  * slaskisjoined
07:51:21  * runningskullchanged nick to zz_runningskull
08:01:32  * mcollinajoined
08:05:39  * mcollinaquit (Ping timeout: 252 seconds)
08:09:00  * toddselfjoined
08:09:25  * jxsonjoined
08:13:21  * toddselfquit (Ping timeout: 252 seconds)
08:13:46  * jxsonquit (Ping timeout: 246 seconds)
08:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 30]
08:23:32  * thlorenzjoined
08:24:48  * kevinswiberjoined
08:26:00  * brianloveswordsquit (Excess Flood)
08:26:20  * brianloveswordsjoined
08:27:50  * thlorenzquit (Ping timeout: 240 seconds)
08:33:05  * zz_runningskullchanged nick to runningskull
08:36:15  * kevinswiberquit (Remote host closed the connection)
08:36:42  * kevinswiberjoined
08:41:04  * kevinswiberquit (Ping timeout: 246 seconds)
08:56:44  * mcollinajoined
09:03:13  * toddselfjoined
09:07:23  * toddselfquit (Ping timeout: 244 seconds)
09:09:59  * kevinswiberjoined
09:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 39]
09:24:20  * thlorenzjoined
09:25:24  * jolissquit (Ping timeout: 252 seconds)
09:28:38  * thlorenzquit (Ping timeout: 240 seconds)
09:35:41  * wolfeidauquit (Remote host closed the connection)
09:36:54  * jiangplusjoined
09:44:45  * cianomaidinjoined
09:57:27  * toddselfjoined
10:00:29  * cianomaidinquit (Quit: cianomaidin)
10:01:25  <rowbit>substack, pkrumins: These encoders are STILL down: 173.203.67.76(free3)
10:01:52  * jolissjoined
10:01:59  * toddselfquit (Ping timeout: 252 seconds)
10:04:38  * kevinswiberquit (Remote host closed the connection)
10:05:04  * kevinswiberjoined
10:08:37  * ferossquit (Quit: feross)
10:10:03  * kevinswiberquit (Ping timeout: 272 seconds)
10:11:13  * jxsonjoined
10:15:34  * jxsonquit (Ping timeout: 246 seconds)
10:16:19  * maksimlinquit (Quit: ChatZilla 0.9.90.1 [Firefox 25.0/20131028113308])
10:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 61]
10:17:36  * jcrugzz_changed nick to jcrugzz
10:22:49  * jiangplusquit (Ping timeout: 244 seconds)
10:25:11  * thlorenzjoined
10:29:47  * thlorenzquit (Ping timeout: 260 seconds)
10:38:43  * mcollinaquit (Remote host closed the connection)
10:39:26  * mcollinajoined
10:43:37  * slaskisquit (Quit: slaskis)
10:44:04  * mcollinaquit (Ping timeout: 265 seconds)
10:45:38  * slaskisjoined
10:47:44  * ins0mniajoined
10:48:17  * cianomaidinjoined
10:53:36  * peutetrejoined
11:15:02  * timoxleyquit (Remote host closed the connection)
11:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 49]
11:22:37  * peutetrequit (Quit: peutetre)
11:26:00  * thlorenzjoined
11:27:11  * jcrugzzquit (Ping timeout: 260 seconds)
11:30:14  * thlorenzquit (Ping timeout: 240 seconds)
11:38:32  * timoxleyjoined
11:42:16  * anvakaquit (Remote host closed the connection)
11:45:57  * toddselfjoined
11:50:46  * toddselfquit (Ping timeout: 265 seconds)
11:55:28  * jcrugzzjoined
12:02:11  * jcrugzzquit (Ping timeout: 260 seconds)
12:12:36  * jxsonjoined
12:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 231]
12:17:17  * jxsonquit (Ping timeout: 252 seconds)
12:25:38  * djcoinjoined
12:27:04  <ogd>isaacs: can i use init-package-json/promzard to just write a default package.json out? e.g. bypassing the prompts
12:39:21  * yorickjoined
12:40:09  * toddselfjoined
12:44:25  <rowbit>substack, pkrumins: Encoders down: 50.57.103.135 (free2)
12:44:57  * toddselfquit (Ping timeout: 272 seconds)
12:47:55  <rowbit>substack, pkrumins: Encoders down: 173.203.67.76 (free3)
12:50:01  * slaskisquit (Quit: slaskis)
12:58:46  * slaskisjoined
13:13:27  * jxsonjoined
13:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 48]
13:18:31  * jxsonquit (Ping timeout: 272 seconds)
13:27:38  * thlorenzjoined
13:31:56  * thlorenzquit (Ping timeout: 244 seconds)
13:34:23  * toddselfjoined
13:39:09  * toddselfquit (Ping timeout: 272 seconds)
13:58:56  <ogd>isaacs: nvm figured it out https://github.com/maxogden/datapackage-json/blob/master/index.js#L39
14:13:27  * peutetrejoined
14:14:14  * jxsonjoined
14:16:39  * ins0mniaquit (Read error: Operation timed out)
14:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 32]
14:18:39  * jxsonquit (Ping timeout: 252 seconds)
14:20:41  * ins0mniajoined
14:23:06  * Maciek416joined
14:23:19  * thlorenzjoined
14:24:48  * kevino80joined
14:27:10  * ralphtheninjajoined
14:27:51  * thlorenzquit (Ping timeout: 265 seconds)
14:28:34  * toddselfjoined
14:32:41  * ralphtheninjaquit (Quit: leaving)
14:33:28  * toddselfquit (Ping timeout: 264 seconds)
14:36:45  * kevinswiberjoined
14:46:28  * mcollinajoined
14:47:34  * jxsonjoined
14:52:26  * jxsonquit (Ping timeout: 264 seconds)
14:56:05  * jiangplusjoined
14:59:40  * thlorenzjoined
15:00:52  * kevinswiberquit (Remote host closed the connection)
15:01:19  * kevinswiberjoined
15:04:07  * jergasonjoined
15:04:57  * tmcwjoined
15:05:50  * kevinswiberquit (Ping timeout: 245 seconds)
15:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 75]
15:22:17  * brianloveswordsquit (Excess Flood)
15:22:48  * toddselfjoined
15:22:50  * brianloveswordsjoined
15:26:32  * peutetrequit (Quit: peutetre)
15:27:13  * toddselfquit (Ping timeout: 252 seconds)
15:28:18  * defunctzombie_zzchanged nick to defunctzombie
15:28:31  * peutetrejoined
15:46:08  * jolissquit (Ping timeout: 265 seconds)
15:47:23  * jolissjoined
15:48:28  * jxsonjoined
15:52:53  * jxsonquit (Ping timeout: 252 seconds)
15:55:45  * AvianFlujoined
16:12:15  * williamcottonjoined
16:16:17  * peutetrequit (Quit: peutetre)
16:16:45  <rowbit>Hourly usage stats: [developer: 13, free: 79]
16:16:57  * toddselfjoined
16:21:28  * toddselfquit (Ping timeout: 264 seconds)
16:22:57  * slaskisquit (Ping timeout: 244 seconds)
16:40:18  * AvianFlu_joined
16:40:28  * AvianFluquit (Disconnected by services)
16:40:30  * AvianFlu_changed nick to AvianFlu
16:48:27  * ednapiranhajoined
16:49:19  * jxsonjoined
16:51:31  <jesusabdullah>substack: https://gist.github.com/substack/7373338#file-cities-L57
16:51:48  <jesusabdullah>substack: I'm pretty sure I'm the only module author that lists their city as South Salt Lake lol
16:52:49  <Maciek416>jesusabdullah: nice list
16:53:11  <Maciek416>I just moved from #83 to #15 so that's gotta count for something
16:53:25  <substack>in one moment you can see the lib I wrote to normalize the place names
16:53:45  * jxsonquit (Ping timeout: 252 seconds)
16:54:48  <jesusabdullah>Can you compile by state, substack ?
16:55:21  <jesusabdullah>actually brb
16:55:53  <substack>https://github.com/substack/placename
17:06:19  * shamajoined
17:10:58  <jesusabdullah>https://gist.github.com/jesusabdullah/7374234#file-states-json-L30 lol I found mmalecki
17:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 44]
17:17:03  * thlorenzquit (Remote host closed the connection)
17:17:12  <tmcw>substack: a geocoder, you say?
17:18:50  <substack>tmcw: not sure what that is!
17:19:12  <tmcw>oh, that's what 'geo' people usually call the code that turns text into places - like what this does
17:19:36  <tmcw>actually been working on a very similar project for a bit https://github.com/mapbox/carmen with yhahn
17:19:48  <jesusabdullah>substack: like, google maps' geocode api turns a string search into lat/long/city/state/nation, etc.
17:21:30  * peutetrejoined
17:22:26  * djcoinquit (Ping timeout: 264 seconds)
17:26:44  * peutetrequit (Quit: peutetre)
17:28:04  * peutetrejoined
17:28:55  * ins0mniaquit (Ping timeout: 240 seconds)
17:35:06  * AvianFlu_joined
17:35:27  * defunctzombiechanged nick to defunctzombie_zz
17:38:25  * peutetre_joined
17:38:36  * peutetrequit (Read error: Operation timed out)
17:38:37  * peutetre_changed nick to peutetre
17:39:11  * AvianFluquit (Ping timeout: 272 seconds)
17:39:45  * mikolalysenkojoined
17:40:12  <mikolalysenko>hah! one of my projects made it into the latest issue of make magazine!
17:43:36  <tmcw>whoah, mikolalysenko the voxeljs -> 3d thing?
17:45:16  * slaskisjoined
17:48:07  * thlorenzjoined
17:50:04  * jxsonjoined
17:52:04  * peutetrequit (Ping timeout: 264 seconds)
17:52:29  * cianomaidinquit (Quit: cianomaidin)
17:53:41  * williamcottonquit (Ping timeout: 248 seconds)
17:54:10  * jxsonquit (Ping timeout: 245 seconds)
17:54:26  <mikolalysenko>no, an earlier project
17:54:36  <mikolalysenko>basically this thing that turns sprites -> voxel models
17:55:06  <mikolalysenko>tmcw: here it is: http://0fps.wordpress.com/2012/09/18/turning-8-bit-sprites-into-printable-3d-models/
17:55:26  <mikolalysenko>and node knockout is coming up this weekend...
17:55:34  * thlorenzquit (Read error: Operation timed out)
17:55:42  <mikolalysenko>I should probably be doing more important stuff, but I have a pretty good idea for a project that I want to try out
17:58:21  * kanzure_changed nick to kanzure
18:01:19  * jcrugzzjoined
18:02:23  <tmcw>heh, are you registered for nko?
18:02:35  <tmcw>i missed the deadline, plus... mapbox is throwing in some prizes, so conflict of interest I guess
18:06:12  * slaskisquit (Quit: slaskis)
18:13:03  <mikolalysenko>tmcw: I am registered, but still a bit uncertain if it was a great idea...
18:13:28  <mikolalysenko>I actually have two concepts for projects that I am thinking about working on...
18:13:53  <mikolalysenko>one of them is to try to get BLAS level 3 implemented for ndarrays, which I think is long term very important
18:14:27  <mikolalysenko>the other option is to just make a demo based on shape modeling with implicit functions...
18:14:50  <mikolalysenko>basically some kind of wiki/collaborative implicit function plotting library
18:15:11  <mikolalysenko>would be neat to tie it to npm, but I'd have to dig into requirebin/browserifycdn to see how to get it to work
18:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 47]
18:19:42  * rxgxjoined
18:20:19  * peutetrejoined
18:23:25  <tmcw>haha, mean, if that isn't over the heads of everyone in node knockout, i think either of those will win it
18:24:18  * williamcottonjoined
18:24:22  * jxsonjoined
18:25:18  * defunctzombie_zzchanged nick to defunctzombie
18:26:26  * peutetrequit (Ping timeout: 245 seconds)
18:37:09  <mikolalysenko>tmcw: well, that would be nice, but my goal is to basically use it as an excuse to build some project rather than try to win the competition
18:37:35  <tmcw>yep
18:38:02  <tmcw>so like http://www.graphycalc.com/ but shareable and awesome
18:38:28  * runningskullchanged nick to zz_runningskull
18:39:26  <rowbit>substack, pkrumins: These encoders are STILL down: 50.57.103.135(free2)
18:42:26  <rowbit>substack, pkrumins: These encoders are STILL down: 173.203.67.76(free3)
18:46:35  * jiangplusquit (Ping timeout: 272 seconds)
18:52:55  * mikolalysenkoquit (Ping timeout: 245 seconds)
18:56:12  * mikolalysenkojoined
18:56:27  <mikolalysenko>tmcw: kind of like that, but with fully 3d implicit surfaces
18:56:31  * thlorenzjoined
18:56:35  <mikolalysenko>and also an export -> 3d print
18:56:50  <mikolalysenko>and instead of using algebraic functions, arbitrary js stuff
18:57:49  * slaskisjoined
18:59:46  * toddselfjoined
18:59:52  * defunctzombiechanged nick to defunctzombie_zz
19:04:05  * toddselfquit (Ping timeout: 248 seconds)
19:07:59  <juliangruber>substack: my github location wasn't set to something you could parse, can you update? it's Kaufbeuren now
19:08:12  <juliangruber>this _is_ important :D
19:13:12  <juliangruber>^ this should put my hometown into 16th place, right beside portland :)
19:15:55  * defunctzombie_zzchanged nick to defunctzombie
19:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 252]
19:19:25  * defunctzombiechanged nick to defunctzombie_zz
19:21:26  * defunctzombie_zzchanged nick to defunctzombie
19:23:15  * jxsonquit (Remote host closed the connection)
19:23:41  * jxsonjoined
19:24:00  * ins0mniajoined
19:24:26  * rxgxquit (Quit: timeout)
19:26:01  <creationix>hey, question about browserify
19:26:31  <defunctzombie>ok
19:26:35  <creationix>Is there a way to know when I'm in the browser and Uint8Array would be prefferred over Browserify's Buffer shim?
19:26:47  <defunctzombie>creationix: yes
19:26:59  <defunctzombie>creationix: and it depends on how you want to handle it
19:27:10  <creationix>I can't just check for the existance of Buffer since I assume browserify defined is everywhere
19:27:12  * jxson_joined
19:27:13  <creationix>or is that not true?
19:27:15  * jxson_quit (Remote host closed the connection)
19:27:26  <creationix>do you have to require Buffer to get a reference to it?
19:27:26  <defunctzombie>that is not the best way imho
19:27:50  * jxsonquit (Read error: Connection reset by peer)
19:27:53  * jxson_joined
19:27:53  <creationix>I just want my code to use Uint8Array in browsers and Buffer in node
19:27:53  <defunctzombie>creationix: https://github.com/substack/node-browserify#packagejson
19:28:08  <defunctzombie>you want to understand this https://gist.github.com/defunctzombie/4339901
19:28:13  <defunctzombie>it is really simple
19:28:28  <defunctzombie>but basically, it tells browserify, replace this file with this one (or module) when packaging for browser
19:28:31  <creationix>I don't want to depend on what's in package.json in this case
19:28:47  <defunctzombie>it isn't about depending on package.json
19:28:47  * jxson_quit (Remote host closed the connection)
19:28:49  <creationix>browserify isn't the only common-js to bundle compiler I'm targetting
19:29:01  <defunctzombie>ok.. then ask them to support this field
19:29:07  <defunctzombie>we called it a "browser" field for a reason
19:29:12  <defunctzombie>we even have modules to make it easy
19:29:18  * jxsonjoined
19:29:24  <defunctzombie>anyhow.. it is the best way
19:29:27  <creationix>right, I know about the "browser" field
19:29:31  <defunctzombie>env detection is ghetto bs
19:29:41  <creationix>but the platforms I support are a lot more varied than node-vs-browser
19:29:49  <defunctzombie>are they really?
19:29:51  * jxsonquit (Remote host closed the connection)
19:29:52  * jxson_joined
19:29:54  <creationix>yep
19:29:55  <defunctzombie>based on your question it doesn't seem that way
19:29:56  <mikolalysenko>creationix: you should maybe consider using bops https://github.com/chrisdickinson/bops
19:30:08  <creationix>mikolalysenko, I helped design bops
19:30:09  <defunctzombie>it seems like just browser or not browser
19:30:30  <creationix>for binary it's fairly simple, Utin8Array everwhere except node
19:30:37  <defunctzombie>so use bops?
19:30:38  <creationix>except for older platforms where you need Array
19:30:47  <creationix>bops uses "browser"
19:30:52  <defunctzombie>yea..
19:30:57  <creationix>so the other compilers can't use it
19:31:02  <defunctzombie>so what?
19:31:08  <creationix>then I can't use it
19:31:10  <defunctzombie>what other compilers?
19:31:14  <mikolalysenko>personally, I've never been a huge fan of buffer so my preferred solution is to try to use uint8array even in node when I can...
19:31:25  <defunctzombie>no one uses any other compilers hahaha
19:31:34  <defunctzombie>just ask them to implement browser field support
19:31:38  <creationix>mikolalysenko, I'd almost do that except many node APIs and libraries assume Buffer
19:31:47  <creationix>they would crap their pants if you handed them a Uint8Array
19:31:53  <defunctzombie>we try to make this stuff tool agnostic as much as possible
19:32:05  <mikolalysenko>creationix: yeah, that is unfortunate...
19:32:21  <creationix>defunctzombie, one of the compilers in mind is mine and implementing "browser" would make my compile step twice as complicated at least
19:32:21  <defunctzombie>yea.. it is
19:32:35  <defunctzombie>creationix: [citation needed] :p
19:32:50  <defunctzombie>also.. what is special about your compiler that you don't want to use browserify?
19:32:52  <creationix>I am my own citation
19:32:59  <creationix>reasons
19:33:00  <creationix>:P
19:33:10  <defunctzombie>I want to know since maybe they are useful things that I will like
19:33:19  <creationix>does browserify run on chromebooks that haven't been rooted
19:33:25  <creationix>does it run on firefox os packaged apps?
19:33:30  <defunctzombie>I dunno.. I dont' have a chromebook
19:33:35  <defunctzombie>I dunno what that means
19:33:35  <creationix>node isn't wveryhwre
19:33:39  <creationix>*everywhere
19:33:40  <mikolalysenko>I sometimes wonder if 99% of the buffer use cases could be replaced by a typedarray if we just added some sort of typedarray fast alloc...
19:33:44  <mikolalysenko>that doesn't do initialization...
19:33:46  <defunctzombie>I have used browserify to make chrome packaged apps without issues
19:33:58  <defunctzombie>node is everywhere
19:34:03  <creationix>defunctzombie, no not to create apps for chrome
19:34:09  <creationix>but to create apps on chrome
19:34:20  <defunctzombie>I dunno.. I don't have a chromebook so
19:34:24  <creationix>there is no node on a chromebook unless you put it in dev mode and install node manually
19:34:27  <defunctzombie>but there is no reason why it can't
19:34:35  <spion>could you perhaps browserify browserify? :)
19:34:44  <defunctzombie>haha
19:34:46  <defunctzombie>that's meta
19:34:50  <mikolalysenko>it's been done I think
19:34:54  <creationix>not to mention ineffecient and probably broken
19:35:04  <creationix>I don't want a node environment in the browser
19:35:10  <creationix>I want a browser environment in the browser
19:35:12  <guybrush>haha blizzard announces android hearthstone :D
19:35:13  <creationix>I just want sane modules
19:35:31  <defunctzombie>it is sane modules.. you asked how to use different code
19:35:46  <defunctzombie>what you implied was node vs other environments where you don't have Buffer
19:35:52  <creationix>right, so how do I detect if i'm running in browserified code?
19:35:52  <defunctzombie>and I gave you an answer
19:35:59  <defunctzombie>you don't
19:36:03  <defunctzombie>that is the wrong approach
19:36:15  <mikolalysenko>... not sure if I agree with this sentiment...
19:36:24  <defunctzombie>you have your own bundler right?
19:36:28  <mikolalysenko>you could just do something though like typeof window === "undefined"
19:36:33  <defunctzombie>just make it take a map of files to replace when bundling
19:36:44  <defunctzombie>it is all compile time anyway
19:36:57  <creationix>defunctzombie, I do that for the platforms
19:37:08  <creationix>because my targets are way more diverse than node-vs-browser
19:37:19  <creationix>there are like 5 different ways to do TCP sockets, for example
19:37:23  <defunctzombie>yes
19:37:30  <creationix>but Binary data is super fundamental
19:37:46  <defunctzombie>maybe it isn't that fundamental
19:38:15  * AvianFlujoined
19:38:17  <defunctzombie>why not just use the browser field for anything that isn't node?
19:38:30  <defunctzombie>and put in some dummy files or something
19:38:33  <creationix>because that would only work for the binary case
19:38:44  <creationix>everything else is more complicated than browserify can handle anyway
19:39:06  <creationix>I don't want to double the size of my compiler code just so I don't have to platform-detect in a single library
19:39:15  <creationix>also, to do it correctly, there are 3 binary types
19:39:19  <creationix>not all js has typed arrays
19:39:29  <creationix>how does browserify handle that?
19:39:37  <defunctzombie>sure... so then do feature detection instead
19:39:41  <defunctzombie>handle what?
19:39:42  <creationix>it feature detects when creating the Buffer shim right?
19:39:49  <defunctzombie>no
19:39:52  <defunctzombie>of course not
19:39:54  <creationix>how does it handle platforms that don't have Uint8Array?
19:39:56  <defunctzombie>what would it feature detect against
19:40:04  <defunctzombie>that is up to you
19:40:09  <mikolalysenko>creationix: what is the 3rd option? I can only think of buffers and typedarray
19:40:10  <defunctzombie>browserify just bundles shit
19:40:10  * slaskisquit (Quit: slaskis)
19:40:11  <juliangruber>creationix browserify doesn't do stuff on the client
19:40:22  <creationix>mikolalysenko, Array
19:40:30  <defunctzombie>if you want to use a different module for Buffer you can do that
19:40:37  <defunctzombie>just tell browserify about it and done
19:40:39  <creationix>mikolalysenko, also "binary" encoded strings, but those are different enough I'll ignore them
19:40:53  <mikolalysenko>hmm
19:41:05  <mikolalysenko>both Array and binary strings seem like kind of bad options...
19:41:08  <creationix>defunctzombie, but how do I configure Buffer on node, UintArray of some browsers and Array on others?
19:41:23  <creationix>a static compile step can't even know how new the web browser will be
19:41:25  * AvianFlu_quit (Ping timeout: 248 seconds)
19:41:26  <creationix>you have to feature detect
19:41:51  <spion>create a module that does the feature detection and provides an uniform API for binary data?
19:41:54  <creationix>mikolalysenko, they are inneffecient, but quite functional
19:41:55  <defunctzombie>creationix: easy, make a tool that just lets you pass in what platform you want to build for
19:42:09  <creationix>defunctzombie, that's a bad idea
19:42:10  <defunctzombie>and then it will load the proper shim file and tell browserify to use that instead
19:42:14  <defunctzombie>no it isn't
19:42:18  <defunctzombie>your build will be smalelr
19:42:20  <defunctzombie>*smaller
19:42:28  <creationix>that's UA sniffing, that's worse than feature detection
19:42:36  <defunctzombie>or just tell browserify to replace Buffer with your own that does feature detection
19:42:48  <defunctzombie>it is not a hard problem
19:42:56  <defunctzombie>we already do this
19:43:03  <creationix>defunctzombie, right, that's my point. I have to have feature detection anyway, how do I detect native node Buffers?
19:43:15  <defunctzombie>the point of the browser field is to say.. I don't like what will be used.. use this instead
19:43:23  <defunctzombie>creationix: my point is you don't need to
19:43:25  <creationix>it's much easier to add a single line in one library to detect node Buffer than to make my build step more complex
19:44:00  <spion>can't you just detect native node, then assume buffers?
19:44:06  <defunctzombie>globa.Buffer
19:44:10  <creationix>spion, that was my original question
19:44:13  <defunctzombie>that will exist in node I think
19:44:21  <creationix>but instead of answering, defunctzombie tells me I'm doing it wrong
19:44:31  * zz_runningskullchanged nick to runningskull
19:44:32  <defunctzombie>I am just telling you we already have a solution
19:44:37  * mcollinaquit (Ping timeout: 252 seconds)
19:44:45  <creationix>thanks, but I'm already aware of "browser" and bops
19:44:52  <defunctzombie>you asked about browserify
19:44:59  <defunctzombie>so I assumed you were packaing with browserify
19:45:05  <creationix>right, what I don't know is how faithfully it emulates node
19:45:18  <defunctzombie>then you say you aren't packaging with browserify
19:45:23  * DTrejojoined
19:45:25  <creationix>does it declare a "global" that aliases to "window" is there a global "Buffer"?
19:45:27  <defunctzombie>so it kinda makes it impossible to answer your question
19:45:48  <creationix>defunctzombie, I'm writing a library that some people will pack with browserify and others won't
19:45:59  <creationix>that's why I can't depend on browserify specefic features
19:46:00  <spion>in browserify, there is process.browser = true
19:46:05  <creationix>but I have to be aware of what it does
19:46:11  <spion>so if you have the global process, and not process.browser
19:46:13  <spion>then you're in node.
19:46:29  <spion>you can do some more detection based on the structure of process
19:46:30  <creationix>spion, that works. Is that a supported feature of browserify?
19:46:42  <spion>https://github.com/defunctzombie/node-process/blob/master/browser.js
19:46:58  <spion>its been there since 1.0, perhaps even earlier
19:47:13  <spion>no reason to assume that its going to go away...
19:47:18  <spion>right?
19:47:39  <creationix>sounds good
19:47:49  * defunctzombiechanged nick to defunctzombie_zz
19:48:11  <spion>insert-globals injects it
19:48:44  <spion>in general, if you are asking for process, it will always insert it (because browserify's options are either always-insert or insert-if-detected)
19:48:54  <creationix>now if someone sets process.browser = true in their node program, I'll just give then typed arrays
19:48:57  <creationix>that's their problem
19:49:00  * runningskullchanged nick to zz_runningskull
19:49:06  <spion>yes.
19:49:12  <spion>yes indeed :D
19:49:31  <creationix>that could even be a feature for testing my browser code in node
19:53:57  * toddselfjoined
19:57:12  * ferossjoined
19:58:26  * toddselfquit (Ping timeout: 265 seconds)
19:59:47  * mikolalysenkoquit (Ping timeout: 272 seconds)
20:03:25  * ednapiranhaquit (Quit: Leaving...)
20:06:09  * ednapiranhajoined
20:07:26  * defunctzombie_zzchanged nick to defunctzombie
20:13:00  * ednapiranhaquit (Quit: Leaving...)
20:13:12  * Maciek416quit (Remote host closed the connection)
20:13:47  * Maciek416joined
20:15:20  * st_lukejoined
20:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 37]
20:17:59  * Maciek416quit (Ping timeout: 252 seconds)
20:29:34  <chrisdickinson>creationix: there's only really two reliable binary types in JS -- typed arrays and buffers. the slice/subarray semantics of those make building on top of array (slightly) untenable
20:29:45  * chrisdickinsonis late to this
20:30:07  <creationix>chrisdickinson, yeah, I'm seeing if I can avoid slice
20:30:20  <chrisdickinson>& if there's anything bops can help with in this regard that it's not currently doing, lemme know!
20:30:39  <creationix>chrisdickinson, my only issue with bops is that is uses browserify "browser"
20:30:59  <creationix>which as defunctzombie says, is the cleanest way to do it assuming your compiler supports it
20:31:04  * chrisdickinsonnods
20:31:32  <chrisdickinson>would you prefer bops be split into two packages -- bops and bops-browser, with the main package using the browser directive and the latter not?
20:32:00  <creationix>chrisdickinson, already tried that, but then I need a dependency injection framework
20:32:06  <chrisdickinson>(there's also the option of using the dist produced by browserify -s)
20:32:09  <creationix>that's even worse than a "browser" directive
20:32:12  <chrisdickinson>ah
20:32:13  <chrisdickinson>yes
20:32:16  * chrisdickinsonnods
20:32:41  <chrisdickinson>the compile time switching is onerous, then
20:32:55  <creationix>so the only thing I *need* is the binary constructor and subarray
20:33:05  <creationix>everything can be implemented in pure js (though less effeciently)
20:33:34  * mcollinajoined
20:33:40  <chrisdickinson>yeah
20:33:42  <creationix>I wish node just used the same thing as everyone else (though to be fair, node came first)
20:33:48  * chrisdickinsonnods
20:33:55  <chrisdickinson>it's a less-than-ideal situation
20:34:22  <chrisdickinson>the reasoning behind the "configure-at-compile-time" in bops is so that there's no chance of mixing up datatypes in a built version
20:34:29  * kevino80quit
20:34:44  <chrisdickinson>that said, there shouldn't be anything stopping you from require'ing into bops, yes?
20:35:22  <chrisdickinson>(or am i totally off base?)
20:36:30  <creationix>I implemented the "browser" directive for one of my compilers, but it's tricky
20:36:38  <creationix>the one I'm currently using doesn't have it yet
20:37:15  <creationix>the problem is that it causes a *lot* of extra IO requests looking for package.json
20:37:28  <creationix>otherwise I can't require directly into bops/from.js
20:38:28  * st_lukequit
20:38:31  <creationix>suppose I have bops included in my file tree, imported as-is
20:38:39  <creationix>at ./lib/bops
20:39:08  <creationix>I can require it using './lib/bops', a smart compiler will see no .js extension and assume it's a package and look for the package.json on first try
20:39:22  <creationix>but suppose I don't want all of bops, I just want subarray?
20:39:33  <creationix>I do require('./lib/bops/subarray.js')
20:39:52  <creationix>how will my compiler know to check for ./lib/bops/package.json # browser aliases
20:39:58  <defunctzombie>creationix: how many IO requests does looking for a package.json cause?
20:40:12  <defunctzombie>can it really be that big of an issue at build time?
20:40:12  <chrisdickinson>creationix: you can do `require('bops/subarray.js')`
20:40:14  <creationix>defunctzombie, it causes N * M extra requests
20:40:21  <defunctzombie>...
20:40:25  <creationix>and build-time is in the app for some of my use cases
20:40:32  <defunctzombie>k
20:40:39  <creationix>where N is the number of modules in the project and M is the average pack depth of each
20:40:55  <creationix>and for some of my compilers, that XHR requests
20:41:04  <creationix>you can see why this is insanity
20:41:07  <defunctzombie>right.. cause it looks up the tree
20:41:14  <defunctzombie>I dunno
20:41:22  <defunctzombie>doesn't really seem like "insanity" but sure
20:41:29  * rxgxjoined
20:41:29  <creationix>for everything else I have a very nice algorithm
20:41:42  <creationix>this is why I always include the .js extension when I mean file and omit it when I mean package
20:41:59  <chrisdickinson>creationix: i am curious: why do it at run time then? why not compile into an executable artifact ahead of time?
20:42:19  <creationix>chrisdickinson, one use case is my chrome-app module loader
20:42:39  <defunctzombie>runtime is fine.. but the IO has never been an issue for me
20:42:47  <defunctzombie>I dunno about the XHR request stuff
20:42:53  <defunctzombie>so can't say
20:42:57  <defunctzombie>my stuff is all local disk
20:43:04  <creationix>defunctzombie, https://github.com/creationix/chrome-app-module-loader
20:43:09  <creationix>it's all local disk for that one too
20:43:10  <chrisdickinson>creationix: why does that need to request off the filesystem?
20:43:15  <creationix>but I want to avoid 404
20:43:22  <creationix>because it really clutters the logs
20:43:31  <defunctzombie>jcrugzz: http-proxy stuff
20:43:38  <chrisdickinson>(could that not be made into a compiled bundle as well? what's the downside?)
20:43:44  <chrisdickinson>aside from build step?
20:43:52  <creationix>chrisdickinson, because then you can't build chrome apps on chromebooks
20:43:53  <defunctzombie>jcrugzz: does the module work in 0.10 or have you guys migrated to this new caronte tree? is that published as a module?
20:43:55  <creationix>there is no node
20:44:03  <creationix>I want to make chrome apps on chrome
20:44:06  <chrisdickinson>no node, sure, but you could bootstrap
20:44:15  <chrisdickinson>use this loader to build a loader that *can* compile
20:44:20  <defunctzombie>creationix: oh interesting.. it logs all the fs attempts?
20:44:22  <chrisdickinson>then you get the best of all worlds
20:44:28  <creationix>defunctzombie, it logs all 404s
20:44:32  <creationix>and there is no way to prevent it
20:44:33  <defunctzombie>hahaha
20:44:38  <jcrugzz>defunctzombie: the caronte branch works on 0.10.x. we are currently testing it in staging and will be 1.0.0 within the next week or so.
20:44:39  <chrisdickinson>(or is that just crazy talk?)
20:44:41  <defunctzombie>window.onerror?
20:44:43  <jcrugzz>we are actually running it on node master
20:44:48  <jcrugzz>or 0.11.8
20:44:55  <defunctzombie>jcrugzz: cool!
20:45:12  <defunctzombie>for proxying just a basic request (if I don't care ws or web) what can I do?
20:45:19  <defunctzombie>or do I need to pick the right one?
20:45:26  <defunctzombie>creationix: that is kinda funny
20:45:33  <chrisdickinson>creationix: i in no way mean to say that you should move everything to browserify, but it seems to me that the common problem could be solved by compiling, and making the compilation step available on chromebooks
20:45:43  <defunctzombie>creationix: so the problem is that it just prints all those 404.. not the actual IO it does haha
20:46:00  <creationix>defunctzombie, well, the IO is a problem too if you add in N * M extra requests
20:46:05  <creationix>then it would be slow
20:46:12  <defunctzombie>but they are all local right?
20:46:24  <creationix>local is still hitting the disk
20:46:31  <creationix>don't want to do that hundreds of extra times at app startup
20:46:33  <chrisdickinson>creationix: double curious: is there anything i can do to help make that bootstrapping compiler?
20:46:49  <creationix>chrisdickinson, perhaps, I need such a compiler for my tedit project anyway
20:47:04  <creationix>the one two compilers I currently have aren't good enough
20:47:10  <jcrugzz>defunctzombie: you use web for regular requests if you dont care about websockets
20:47:12  <defunctzombie>creationix: so this is done when you don't use a compiler first I assume?
20:47:26  <jcrugzz>and give it a target
20:47:32  <defunctzombie>creationix: so you can just load directly in the script tags or whateveer
20:47:35  <chrisdickinson>maybe it's naivety, but it seems to me that having a chromebook-friendly compiler would solve a lot of problems very nicely
20:47:40  <defunctzombie>jcrugzz: what if I care about websockets?
20:47:48  <defunctzombie>jcrugzz: do I have to write some special detection logic?
20:47:49  <creationix>the problem with pre-compiling is you now have source code *and* build artifacts in your code tree
20:48:02  * toddselfjoined
20:48:06  <defunctzombie>creationix: don't commit the build artifacts?
20:48:29  <defunctzombie>when I wrote a chrome app I just build the dist.js or wahtnot
20:48:31  <chrisdickinson>or, package the build artifacts for distribution
20:48:31  <creationix>defunctzombie, then I need to compile them on demand at app startup
20:48:44  <defunctzombie>creationix: ? wouldn't you just compile them when you make teh app bundle
20:48:51  <defunctzombie>or whatever it is called from a chrome app
20:48:55  <defunctzombie>that is how I did it
20:49:07  <jcrugzz>defuntzombie: you can use the built in server that will handle it, or listen on upgrade requests and proxy it. https://github.com/nodejitsu/node-http-proxy/blob/caronte/lib/http-proxy/index.js#L104-L117
20:49:34  <creationix>defunctzombie, there are a lot of workflows and use cases I'm considering
20:49:37  <creationix>that only works for some of them
20:49:50  <defunctzombie>gotcha
20:49:59  <defunctzombie>cool
20:50:01  <creationix>(and this is why some people prefer amd, no build step required)
20:50:02  <defunctzombie>I love chrome apps :)
20:50:15  <defunctzombie>I don't have build steps in my stuff
20:50:22  <defunctzombie>I just have middleware that serves up JS as needed
20:50:30  <defunctzombie>works fine when you have a webserver
20:50:34  <jcrugzz>keep them caches hot
20:50:41  <creationix>defunctzombie, that's still build-step, just on-demand
20:50:47  <defunctzombie>sure.. but it is transparent
20:50:50  <defunctzombie>so who cares :)
20:50:53  <creationix>I used to do that all the time with flash development
20:50:58  <defunctzombie>code looks way better than AMD shit :)
20:51:09  <creationix>write my flash using HaXe, save the .hx file, refresh the browser
20:51:25  <defunctzombie>haha
20:51:36  <defunctzombie>creationix: what about catching those 404's via window.onerror ?
20:51:42  <creationix>defunctzombie, nope, can't be done
20:51:47  <defunctzombie>nice
20:51:53  <creationix>there are several stack overflow threads about it
20:51:58  <defunctzombie>I bet
20:51:59  <creationix>chrome is annoying in that regard
20:52:21  <creationix>but that's not the real problem, 404s or not, I don't want to be making hundreds of XHR requests on app startup
20:52:43  <enjawork>is this an ok place to ask about level-js + indexdb?
20:52:44  <creationix>I could maybe do a compromise for the "browser" directive problem
20:53:02  * toddselfquit (Ping timeout: 264 seconds)
20:53:12  <creationix>if it's a module path (not starting with `./`), then assume there is a package.json at the root and read that first
20:53:43  <creationix>then require('bops/subarray.js') would read the bops/package.json file, see the "browser" alias and load the right "subarray.js" filr
20:53:44  <defunctzombie>creationix: the 404's are just for the package.json's?
20:53:54  <defunctzombie>when you are hunting for them?
20:54:31  <creationix>defunctzombie, there are lots of things that can cause 404's. Node has lots of internal ENOENTs internally when loading stuff
20:54:39  <defunctzombie>yea
20:54:44  <defunctzombie>index.js lookups, etc
20:54:57  <creationix>but I've got a system using a few conventions that never hits 404s
20:55:35  <defunctzombie>is there an fs bulk read feature?
20:55:39  <defunctzombie>hahaha
20:55:45  <creationix>either install deps in a flat node_modules folder (no nested deps) or nest *all* deps and not do dedupe
20:55:59  <creationix>the compiler has a flag to tell it which mode you installed the deps in
20:56:20  <creationix>and then always use the .js extension when you mean a file, and not when you mean "main" in some package.json
20:56:59  <creationix>I could add a convention for "browser" support too. But it would only work for modules in "node_modules", not local packages
20:57:15  <creationix>which I think is an OK compromise
20:57:59  <defunctzombie>haha
20:58:17  * ralphtheninjajoined
20:58:24  <creationix>I mean, how often do people install full packages with their own package.json and not put them in node_modules?
20:58:24  <defunctzombie>it would solve your bops issue I think
20:58:36  <defunctzombie>?
20:58:48  <creationix>yeah, it would
20:58:54  <defunctzombie>you can't... iirc
20:59:10  <creationix>oh sure you can have local packages in node
20:59:17  <creationix>it's just not as common
20:59:26  <defunctzombie>sure.. but you have to do relative paths to them
20:59:30  <creationix>right
20:59:31  <defunctzombie>unless you hack the path stuff
20:59:46  <creationix>my case where it causes N * M lookups is that exactly
20:59:52  <defunctzombie>I see
20:59:57  <defunctzombie>no.. no one is doing that
21:00:04  <defunctzombie>and if they are just tell them no
21:00:29  <creationix>'./lib/bops/subarray.js' needing to map to './lib/bops/browser/subarray.js' because of a browser directive in ./lib/bops/package.json
21:01:05  <creationix>defunctzombie, right, that's why I say it may be a reasonable compromise with another convention
21:01:12  <creationix>just say I don
21:01:26  <creationix>I don't support local packages, only node_modules style packages
21:01:41  <creationix>local modules, node_modules packages
21:01:46  <creationix>that's the norm anyway
21:02:53  <creationix>I wonder if browserify breaks in that crazy edge case
21:03:50  <defunctzombie>probably
21:03:59  <defunctzombie>or something else breaks
21:04:22  <chrisdickinson>i would assume that requiring relatively would skip the package.json machinery
21:04:33  <chrisdickinson>since it's no longer a package require, but a relative module require
21:05:23  <defunctzombie>chrisdickinson: that is not the case for your topmost module
21:05:56  <defunctzombie>chrisdickinson: since you may want to replace in your topmost module as well (or app I guess) but that doesn't happen much at the app level
21:06:07  <defunctzombie>and this stuff is about modules anyhow
21:06:40  <chrisdickinson>hm
21:06:50  * tmcwquit (Remote host closed the connection)
21:06:51  <chrisdickinson>was thinking of package A reaching into package B
21:07:26  * tmcwjoined
21:07:30  <creationix>chrisdickinson, so about building a compiler for browser envs
21:07:31  <creationix>I need that
21:07:41  <creationix>shall I write up my requirements in a gist?
21:07:47  <chrisdickinson>yespls.
21:08:20  <creationix>I want it to be able to consume browserify packages like bops
21:08:41  <creationix>btw, when does node-knockout start?
21:08:55  <defunctzombie>in like a few hours I think
21:09:02  <creationix>midnight UTF right?
21:09:06  <creationix>that's about 3 hours away
21:09:13  <creationix>*UTC
21:10:27  <creationix>ah yes, there is a countdown timer for the timezone impaired among us :) http://nodeknockout.com/
21:10:39  <creationix>chrisdickinson, are you competing?
21:11:01  <chrisdickinson>yep, with a team of 2 others
21:11:32  <chrisdickinson>are you?
21:11:59  * tmcwquit (Ping timeout: 272 seconds)
21:12:38  <creationix>yeah, I joined Raynos' team
21:12:45  <chrisdickinson>awesome :)
21:16:08  * tmcwjoined
21:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 35]
21:23:22  * DTrejo_joined
21:23:31  * DTrejoquit (Read error: Connection reset by peer)
21:24:46  <creationix>chrisdickinson, ok, for starts, I want to only support a small subset of the requires that node allows. https://gist.github.com/creationix/7377834
21:25:08  <creationix>these should all re resolvable using minimal stats
21:25:28  <chapel>was going to work alone, but added a coworker
21:25:39  <chapel>what is everyone working on?
21:26:20  <chrisdickinson>creationix: would you be amenable to supporting "require('./module')" if it were taken to mean "only .js"?
21:26:31  <chrisdickinson>or "auto append .js"?
21:26:58  <creationix>that would work since I'm not disallowing relative packages
21:27:03  <creationix>*now disallowing
21:27:14  <creationix>since it's pretty common in existing code
21:27:20  * chrisdickinsonnods
21:27:28  <creationix>though isaacs has said before he wishes he had never put that in there
21:27:39  <creationix>that all references to files should be explicit
21:27:51  <chrisdickinson>I am unsure how many folk use "require a dir/, get dir/index.js"
21:27:58  <chrisdickinson>yeah
21:28:15  <chrisdickinson>if there's no ext i'll append .js, otherwise it'll be literal file.
21:28:30  <chrisdickinson>if that happens to be a dir, that's an error.
21:28:34  <chrisdickinson>yes?
21:28:34  <defunctzombie>I use require dir for index.js all the time
21:28:59  <defunctzombie>but explicit wouldn't hurt me either.. I just use it cause I can and it is typically shorter
21:29:09  <creationix>defunctzombie, right, people do that all the time, but then I have extra requests and errors
21:30:20  <creationix>in node "./module" could mean "./module.js", "./module/package.json"#main, "./module/index.js", "./module.json", etc
21:30:26  <creationix>too many possible paths
21:31:02  <defunctzombie> the package.json one is not correct
21:31:09  <defunctzombie>that does not work in node with realtive paths
21:31:11  <defunctzombie>*relative
21:31:14  <creationix>defunctzombie, sure it is, I do it all the time
21:31:19  <defunctzombie>...
21:31:21  <creationix>but I'm not allowing it in this system
21:31:34  <defunctzombie>do you mean without the "./" ?
21:32:02  <creationix>in node, you can require "./lib/some-package" and get the ./lib/some-package/package.json#main
21:32:09  <defunctzombie>I was under impression loading would not consult a package.json for relative files
21:32:18  <creationix>most my unit tests start with require('../.")
21:32:19  <defunctzombie>huh.. didn't realize that.. cause I never do it
21:32:24  <defunctzombie>same
21:32:32  <defunctzombie>oh.. I see
21:32:41  <defunctzombie>I guess that is just the expanded case of that
21:32:45  <creationix>yep
21:33:09  <creationix>but I think I'll disallow that in this system so that I can sanely get "browser" directive
21:34:23  <creationix>chrisdickinson, what about supporting index.js even if it's suboptimal
21:34:36  <creationix>it will always result in extra requests, but there is a lot of code that uses it
21:35:05  <creationix>I can always add extra lookup paths to the end in case the requested thing isn't there. I just need a fast happy path for when I control all the code
21:36:24  <creationix>yeah, I think adding './module/index.js' as a fallback for './module' is sane enough. I'm not even sure what error I'd get if I try to xhr a directory
21:36:50  <creationix>when the backend is js-git I would get a tree object instead of a blob, which is easy to recover from
21:37:07  <creationix>I'd have to have that tree loaded anyway to know the blob's hash
21:37:15  <creationix>so it's not even an extra lookup
21:38:34  <creationix>oh, nevermind. "./module" is not the same path as "./module.js", hmm
21:42:17  * toddselfjoined
21:47:16  * toddselfquit (Ping timeout: 264 seconds)
21:51:49  * thlorenzquit (Remote host closed the connection)
21:51:57  * nexxychanged nick to xyxne
21:54:49  * zz_runningskullchanged nick to runningskull
21:56:26  * thlorenz_joined
21:56:38  * thlorenz_quit (Remote host closed the connection)
22:16:36  * mpiercejoined
22:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 28]
22:18:57  * jxson_quit (Remote host closed the connection)
22:28:17  <Raynos>creationix: why not browserify ( https://gist.github.com/creationix/7377834 ). Why #txt #bin ?
22:30:41  <Raynos>chrisdickinson, creationix: I use require("./module") to mean ./module/package.json#main or ./module/index.js. I use `require("./module.js")` to mean that literal.
22:31:43  <Raynos>although i think all folder use cases can be replaced b y write small modules
22:32:36  <chrisdickinson>Raynos: so, goal is to make a bootstrapped module compiler that runs on chromebooks
22:33:35  <Raynos>ok
22:36:33  * toddselfjoined
22:40:59  * toddselfquit (Ping timeout: 252 seconds)
22:48:15  * mcollinaquit (Remote host closed the connection)
22:48:52  * mcollinajoined
22:50:09  * jxsonjoined
22:53:06  * mcollinaquit (Ping timeout: 245 seconds)
22:54:35  * jxsonquit (Ping timeout: 244 seconds)
22:57:56  * mpiercequit (Quit: mpierce)
23:12:29  * rxgxquit (Quit: timeout)
23:16:45  <rowbit>Hourly usage stats: [developer: 0, free: 33]
23:30:50  * toddselfjoined
23:34:42  * jxsonjoined
23:35:15  * toddselfquit (Ping timeout: 252 seconds)
23:42:11  * mcollinajoined
23:46:40  * AvianFluquit (Ping timeout: 264 seconds)
23:47:49  * mcollinaquit (Ping timeout: 248 seconds)
23:48:11  * Maciek416joined
23:49:40  * williamcottonquit (Quit: williamcotton)
23:52:11  * mpiercejoined
23:55:07  * mpiercequit (Client Quit)
23:58:18  * tmcwquit (Remote host closed the connection)
23:58:50  * tmcwjoined