00:00:01
| * ircretary | quit (Remote host closed the connection) |
00:00:09
| * mcollina | quit (Ping timeout: 272 seconds) |
00:00:09
| * ircretary | joined |
00:03:47
| * toddself | quit (Ping timeout: 246 seconds) |
00:04:24
| * thlorenz | quit (Ping timeout: 252 seconds) |
00:05:06
| * ednapiranha | quit (Quit: Leaving...) |
00:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 14] |
00:17:53
| * cianomaidin | joined |
00:18:27
| * kevino80 | joined |
00:19:07
| * kevino80 | quit (Read error: Connection reset by peer) |
00:20:06
| * kevinswiber | joined |
00:20:34
| * kevino80 | joined |
00:22:26
| * tmcw | quit (Remote host closed the connection) |
00:27:20
| * kevinswiber | quit (Remote host closed the connection) |
00:27:32
| * shama | joined |
00:27:54
| * kevinswiber | joined |
00:28:45
| * timoxley | quit (Remote host closed the connection) |
00:29:04
| * timoxley | joined |
00:31:30
| * kevinswi_ | joined |
00:31:50
| * kevinswiber | quit (Ping timeout: 240 seconds) |
00:36:39
| * tmcw | joined |
00:37:00
| * thlorenz | joined |
00:38:35
| * cianomaidin | quit (Quit: cianomaidin) |
00:42:06
| * thlorenz | quit (Ping timeout: 244 seconds) |
00:46:01
| * thlorenz | joined |
00:46:58
| * tmcw | quit (Remote host closed the connection) |
00:47:48
| * jergason | quit (Quit: jergason) |
00:50:39
| * jiangplus | joined |
00:53:38
| * toddself | joined |
00:55:07
| * tmcw | joined |
00:55:17
| * kevino80 | quit (Remote host closed the connection) |
00:55:44
| * kevino80 | joined |
00:55:44
| * mcollina | joined |
00:58:16
| * toddself | quit (Ping timeout: 265 seconds) |
01:00:07
| * kevino80 | quit (Ping timeout: 246 seconds) |
01:00:11
| * mcollina | quit (Ping timeout: 244 seconds) |
01:01:53
| * feross | joined |
01:03:47
| * maksimlin | joined |
01:11:30
| * yorick | quit (Remote host closed the connection) |
01:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 23] |
01:33:46
| * cianomaidin | joined |
01:33:52
| * thlorenz | quit (Read error: Connection reset by peer) |
01:34:13
| * thlorenz | joined |
01:37:25
| * thlorenz | quit (Remote host closed the connection) |
01:38:24
| <rowbit> | substack, pkrumins: These encoders are STILL down: 173.203.67.76(free3) |
01:39:33
| * cianomaidin | quit (Quit: cianomaidin) |
01:39:39
| * kevino80 | joined |
01:39:43
| * kevino80 | quit (Read error: Connection reset by peer) |
01:40:05
| * kevino80 | joined |
01:40:06
| * enjawork | quit (Ping timeout: 252 seconds) |
01:40:43
| * kevino80 | quit (Client Quit) |
01:41:27
| * kevinswi_ | quit (Remote host closed the connection) |
01:41:29
| * enjawork | joined |
01:42:02
| * kevinswiber | joined |
01:46:09
| * defunctzombie | changed nick to defunctzombie_zz |
01:46:19
| * kevinswiber | quit (Ping timeout: 246 seconds) |
01:47:50
| * enjawork | quit (Read error: Operation timed out) |
01:47:54
| * toddself | joined |
01:49:27
| * jxson | quit (Remote host closed the connection) |
01:50:01
| * jxson | joined |
01:50:15
| * jxson | quit (Read error: Connection reset by peer) |
01:50:46
| * jxson | joined |
01:51:39
| * enjawork | joined |
01:52:15
| * toddself | quit (Ping timeout: 260 seconds) |
01:52:46
| * cianomaidin | joined |
01:52:58
| * defunctzombie_zz | changed nick to defunctzombie |
01:55:04
| * jxson | quit (Ping timeout: 246 seconds) |
01:56:33
| * mcollina | joined |
01:57:44
| * cianomaidin | quit (Quit: cianomaidin) |
01:59:43
| * williamcotton | quit (Quit: williamcotton) |
02:00:55
| * mcollina | quit (Ping timeout: 252 seconds) |
02:04:27
| * jergason | joined |
02:04:33
| * tmcw | quit (Remote host closed the connection) |
02:04:59
| * tmcw | joined |
02:05:06
| * tmcw | quit (Remote host closed the connection) |
02:05:15
| * tmcw | joined |
02:08:39
| * thlorenz | joined |
02:12:53
| * tmcw | quit |
02:13:02
| * thlorenz | quit (Ping timeout: 240 seconds) |
02:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 25] |
02:29:06
| * feross | quit (Quit: feross) |
02:33:19
| * jcrugzz | quit (Ping timeout: 260 seconds) |
02:42:09
| * toddself | joined |
02:42:39
| * ins0mnia | quit (Ping timeout: 260 seconds) |
02:43:32
| * toddself | quit (Read error: Connection reset by peer) |
02:43:47
| * toddself | joined |
02:45:06
| * ins0mnia | joined |
02:48:28
| * toddself | quit (Ping timeout: 265 seconds) |
02:52:58
| * jcrugzz | joined |
02:57:26
| * mcollina | joined |
03:02:33
| * mcollina | quit (Ping timeout: 272 seconds) |
03:09:23
| * thlorenz | joined |
03:14:05
| * thlorenz | quit (Ping timeout: 265 seconds) |
03:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 20] |
03:29:19
| * enjawork | quit (Ping timeout: 260 seconds) |
03:32:54
| * enjawork | joined |
03:37:39
| * AvianFlu | joined |
03:38:04
| * toddself | joined |
03:39:55
| * ins0mnia | quit (Ping timeout: 272 seconds) |
03:41:02
| * jergason | quit (Quit: jergason) |
03:43:05
| * toddself | quit (Ping timeout: 272 seconds) |
03:54:28
| * Maciek416 | quit (Remote host closed the connection) |
03:55:01
| * Maciek416 | joined |
03:56:45
| * Maciek416_ | joined |
03:56:54
| <rowbit> | substack, pkrumins: These encoders are STILL down: 50.57.103.135(free2) |
03:58:11
| * mcollina | joined |
03:59:19
| * Maciek416 | quit (Ping timeout: 246 seconds) |
04:02:33
| * mcollina | quit (Ping timeout: 252 seconds) |
04:06:54
| <rowbit> | substack, pkrumins: Encoders down: 173.203.67.76 (free3) |
04:07:06
| * defunctzombie | changed nick to defunctzombie_zz |
04:09:21
| * Maciek416_ | changed nick to Maciek416 |
04:10:15
| * thlorenz | joined |
04:14:27
| * thlorenz | quit (Ping timeout: 244 seconds) |
04:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 22] |
04:32:13
| * toddself | joined |
04:32:47
| * DTrejo | quit (Remote host closed the connection) |
04:33:23
| * DTrejo | joined |
04:36:39
| * toddself | quit (Ping timeout: 252 seconds) |
04:37:28
| * DTrejo | quit (Ping timeout: 246 seconds) |
04:45:51
| * anvaka | joined |
04:58:53
| * mcollina | joined |
05:03:09
| * mcollina | quit (Ping timeout: 252 seconds) |
05:11:08
| * thlorenz | joined |
05:11:26
| * jxson | joined |
05:12:44
| * jxson | quit (Remote host closed the connection) |
05:13:12
| * jxson | joined |
05:15:26
| * thlorenz | quit (Ping timeout: 240 seconds) |
05:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 145] |
05:17:03
| * jxson_ | joined |
05:18:03
| * jxson | quit (Remote host closed the connection) |
05:26:27
| * toddself | joined |
05:30:38
| * toddself | quit (Ping timeout: 240 seconds) |
05:37:33
| * kevinswiber | joined |
05:38:24
| <rowbit> | substack, pkrumins: Encoders down: 50.57.103.135 (free2) |
05:41:07
| * grncdr | joined |
05:42:19
| * jxson_ | quit (Remote host closed the connection) |
05:42:47
| * jxson | joined |
05:43:07
| * jxson | quit (Remote host closed the connection) |
05:43:52
| * AvianFlu | quit (Remote host closed the connection) |
05:45:28
| * grncdr | quit (Client Quit) |
05:46:03
| * grncdr | joined |
05:47:14
| * jxson | joined |
05:51:14
| * defunctzombie_zz | changed nick to defunctzombie |
05:53:35
| * jcrugzz | quit (Ping timeout: 265 seconds) |
05:59:39
| * mcollina | joined |
06:00:33
| * shama | quit |
06:03:22
| * Maciek416 | quit (Remote host closed the connection) |
06:03:50
| * mcollina | quit (Ping timeout: 240 seconds) |
06:03:55
| * Maciek416 | joined |
06:08:07
| * Maciek416 | quit (Ping timeout: 246 seconds) |
06:08:23
| * kevinswiber | quit (Remote host closed the connection) |
06:08:27
| * jcrugzz | joined |
06:08:34
| * jiangplus | quit (Ping timeout: 265 seconds) |
06:08:51
| * kevinswiber | joined |
06:10:35
| * timoxley | quit (Remote host closed the connection) |
06:11:10
| * timoxley | joined |
06:12:00
| * thlorenz | joined |
06:13:49
| * kevinswiber | quit (Ping timeout: 272 seconds) |
06:15:49
| * timoxley | quit (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
| * toddself | joined |
06:25:02
| * toddself | quit (Ping timeout: 240 seconds) |
06:25:39
| * defunctzombie | changed nick to defunctzombie_zz |
06:25:51
| * thlorenz | quit (Ping timeout: 272 seconds) |
06:31:23
| * joliss | joined |
06:39:53
| * feross | joined |
06:54:26
| * AvianFlu | joined |
06:58:50
| * AvianFlu | quit (Ping timeout: 265 seconds) |
07:00:28
| * mcollina | joined |
07:05:02
| * mcollina | quit (Ping timeout: 240 seconds) |
07:10:22
| * timoxley | joined |
07:14:53
| * toddself | joined |
07:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 41] |
07:19:23
| * toddself | quit (Ping timeout: 260 seconds) |
07:22:44
| * thlorenz_ | joined |
07:23:47
| * jcrugzz_ | joined |
07:25:55
| * jcrugzz | quit (Ping timeout: 260 seconds) |
07:26:53
| * thlorenz_ | quit (Ping timeout: 246 seconds) |
07:38:20
| * jxson | quit (Remote host closed the connection) |
07:39:52
| * slaskis | joined |
07:51:21
| * runningskull | changed nick to zz_runningskull |
08:01:32
| * mcollina | joined |
08:05:39
| * mcollina | quit (Ping timeout: 252 seconds) |
08:09:00
| * toddself | joined |
08:09:25
| * jxson | joined |
08:13:21
| * toddself | quit (Ping timeout: 252 seconds) |
08:13:46
| * jxson | quit (Ping timeout: 246 seconds) |
08:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 30] |
08:23:32
| * thlorenz | joined |
08:24:48
| * kevinswiber | joined |
08:26:00
| * brianloveswords | quit (Excess Flood) |
08:26:20
| * brianloveswords | joined |
08:27:50
| * thlorenz | quit (Ping timeout: 240 seconds) |
08:33:05
| * zz_runningskull | changed nick to runningskull |
08:36:15
| * kevinswiber | quit (Remote host closed the connection) |
08:36:42
| * kevinswiber | joined |
08:41:04
| * kevinswiber | quit (Ping timeout: 246 seconds) |
08:56:44
| * mcollina | joined |
09:03:13
| * toddself | joined |
09:07:23
| * toddself | quit (Ping timeout: 244 seconds) |
09:09:59
| * kevinswiber | joined |
09:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 39] |
09:24:20
| * thlorenz | joined |
09:25:24
| * joliss | quit (Ping timeout: 252 seconds) |
09:28:38
| * thlorenz | quit (Ping timeout: 240 seconds) |
09:35:41
| * wolfeidau | quit (Remote host closed the connection) |
09:36:54
| * jiangplus | joined |
09:44:45
| * cianomaidin | joined |
09:57:27
| * toddself | joined |
10:00:29
| * cianomaidin | quit (Quit: cianomaidin) |
10:01:25
| <rowbit> | substack, pkrumins: These encoders are STILL down: 173.203.67.76(free3) |
10:01:52
| * joliss | joined |
10:01:59
| * toddself | quit (Ping timeout: 252 seconds) |
10:04:38
| * kevinswiber | quit (Remote host closed the connection) |
10:05:04
| * kevinswiber | joined |
10:08:37
| * feross | quit (Quit: feross) |
10:10:03
| * kevinswiber | quit (Ping timeout: 272 seconds) |
10:11:13
| * jxson | joined |
10:15:34
| * jxson | quit (Ping timeout: 246 seconds) |
10:16:19
| * maksimlin | quit (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
| * jiangplus | quit (Ping timeout: 244 seconds) |
10:25:11
| * thlorenz | joined |
10:29:47
| * thlorenz | quit (Ping timeout: 260 seconds) |
10:38:43
| * mcollina | quit (Remote host closed the connection) |
10:39:26
| * mcollina | joined |
10:43:37
| * slaskis | quit (Quit: slaskis) |
10:44:04
| * mcollina | quit (Ping timeout: 265 seconds) |
10:45:38
| * slaskis | joined |
10:47:44
| * ins0mnia | joined |
10:48:17
| * cianomaidin | joined |
10:53:36
| * peutetre | joined |
11:15:02
| * timoxley | quit (Remote host closed the connection) |
11:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 49] |
11:22:37
| * peutetre | quit (Quit: peutetre) |
11:26:00
| * thlorenz | joined |
11:27:11
| * jcrugzz | quit (Ping timeout: 260 seconds) |
11:30:14
| * thlorenz | quit (Ping timeout: 240 seconds) |
11:38:32
| * timoxley | joined |
11:42:16
| * anvaka | quit (Remote host closed the connection) |
11:45:57
| * toddself | joined |
11:50:46
| * toddself | quit (Ping timeout: 265 seconds) |
11:55:28
| * jcrugzz | joined |
12:02:11
| * jcrugzz | quit (Ping timeout: 260 seconds) |
12:12:36
| * jxson | joined |
12:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 231] |
12:17:17
| * jxson | quit (Ping timeout: 252 seconds) |
12:25:38
| * djcoin | joined |
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
| * yorick | joined |
12:40:09
| * toddself | joined |
12:44:25
| <rowbit> | substack, pkrumins: Encoders down: 50.57.103.135 (free2) |
12:44:57
| * toddself | quit (Ping timeout: 272 seconds) |
12:47:55
| <rowbit> | substack, pkrumins: Encoders down: 173.203.67.76 (free3) |
12:50:01
| * slaskis | quit (Quit: slaskis) |
12:58:46
| * slaskis | joined |
13:13:27
| * jxson | joined |
13:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 48] |
13:18:31
| * jxson | quit (Ping timeout: 272 seconds) |
13:27:38
| * thlorenz | joined |
13:31:56
| * thlorenz | quit (Ping timeout: 244 seconds) |
13:34:23
| * toddself | joined |
13:39:09
| * toddself | quit (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
| * peutetre | joined |
14:14:14
| * jxson | joined |
14:16:39
| * ins0mnia | quit (Read error: Operation timed out) |
14:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 32] |
14:18:39
| * jxson | quit (Ping timeout: 252 seconds) |
14:20:41
| * ins0mnia | joined |
14:23:06
| * Maciek416 | joined |
14:23:19
| * thlorenz | joined |
14:24:48
| * kevino80 | joined |
14:27:10
| * ralphtheninja | joined |
14:27:51
| * thlorenz | quit (Ping timeout: 265 seconds) |
14:28:34
| * toddself | joined |
14:32:41
| * ralphtheninja | quit (Quit: leaving) |
14:33:28
| * toddself | quit (Ping timeout: 264 seconds) |
14:36:45
| * kevinswiber | joined |
14:46:28
| * mcollina | joined |
14:47:34
| * jxson | joined |
14:52:26
| * jxson | quit (Ping timeout: 264 seconds) |
14:56:05
| * jiangplus | joined |
14:59:40
| * thlorenz | joined |
15:00:52
| * kevinswiber | quit (Remote host closed the connection) |
15:01:19
| * kevinswiber | joined |
15:04:07
| * jergason | joined |
15:04:57
| * tmcw | joined |
15:05:50
| * kevinswiber | quit (Ping timeout: 245 seconds) |
15:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 75] |
15:22:17
| * brianloveswords | quit (Excess Flood) |
15:22:48
| * toddself | joined |
15:22:50
| * brianloveswords | joined |
15:26:32
| * peutetre | quit (Quit: peutetre) |
15:27:13
| * toddself | quit (Ping timeout: 252 seconds) |
15:28:18
| * defunctzombie_zz | changed nick to defunctzombie |
15:28:31
| * peutetre | joined |
15:46:08
| * joliss | quit (Ping timeout: 265 seconds) |
15:47:23
| * joliss | joined |
15:48:28
| * jxson | joined |
15:52:53
| * jxson | quit (Ping timeout: 252 seconds) |
15:55:45
| * AvianFlu | joined |
16:12:15
| * williamcotton | joined |
16:16:17
| * peutetre | quit (Quit: peutetre) |
16:16:45
| <rowbit> | Hourly usage stats: [developer: 13, free: 79] |
16:16:57
| * toddself | joined |
16:21:28
| * toddself | quit (Ping timeout: 264 seconds) |
16:22:57
| * slaskis | quit (Ping timeout: 244 seconds) |
16:40:18
| * AvianFlu_ | joined |
16:40:28
| * AvianFlu | quit (Disconnected by services) |
16:40:30
| * AvianFlu_ | changed nick to AvianFlu |
16:48:27
| * ednapiranha | joined |
16:49:19
| * jxson | joined |
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
| * jxson | quit (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
| * shama | joined |
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
| * thlorenz | quit (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
| * peutetre | joined |
17:22:26
| * djcoin | quit (Ping timeout: 264 seconds) |
17:26:44
| * peutetre | quit (Quit: peutetre) |
17:28:04
| * peutetre | joined |
17:28:55
| * ins0mnia | quit (Ping timeout: 240 seconds) |
17:35:06
| * AvianFlu_ | joined |
17:35:27
| * defunctzombie | changed nick to defunctzombie_zz |
17:38:25
| * peutetre_ | joined |
17:38:36
| * peutetre | quit (Read error: Operation timed out) |
17:38:37
| * peutetre_ | changed nick to peutetre |
17:39:11
| * AvianFlu | quit (Ping timeout: 272 seconds) |
17:39:45
| * mikolalysenko | joined |
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
| * slaskis | joined |
17:48:07
| * thlorenz | joined |
17:50:04
| * jxson | joined |
17:52:04
| * peutetre | quit (Ping timeout: 264 seconds) |
17:52:29
| * cianomaidin | quit (Quit: cianomaidin) |
17:53:41
| * williamcotton | quit (Ping timeout: 248 seconds) |
17:54:10
| * jxson | quit (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
| * thlorenz | quit (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
| * jcrugzz | joined |
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
| * slaskis | quit (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
| * rxgx | joined |
18:20:19
| * peutetre | joined |
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
| * williamcotton | joined |
18:24:22
| * jxson | joined |
18:25:18
| * defunctzombie_zz | changed nick to defunctzombie |
18:26:26
| * peutetre | quit (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
| * runningskull | changed 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
| * jiangplus | quit (Ping timeout: 272 seconds) |
18:52:55
| * mikolalysenko | quit (Ping timeout: 245 seconds) |
18:56:12
| * mikolalysenko | joined |
18:56:27
| <mikolalysenko> | tmcw: kind of like that, but with fully 3d implicit surfaces |
18:56:31
| * thlorenz | joined |
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
| * slaskis | joined |
18:59:46
| * toddself | joined |
18:59:52
| * defunctzombie | changed nick to defunctzombie_zz |
19:04:05
| * toddself | quit (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_zz | changed nick to defunctzombie |
19:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 252] |
19:19:25
| * defunctzombie | changed nick to defunctzombie_zz |
19:21:26
| * defunctzombie_zz | changed nick to defunctzombie |
19:23:15
| * jxson | quit (Remote host closed the connection) |
19:23:41
| * jxson | joined |
19:24:00
| * ins0mnia | joined |
19:24:26
| * rxgx | quit (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
| * jxson | quit (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
| * jxson | joined |
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
| * jxson | quit (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
| * AvianFlu | joined |
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
| * slaskis | quit (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_runningskull | changed nick to runningskull |
19:44:32
| <defunctzombie> | I am just telling you we already have a solution |
19:44:37
| * mcollina | quit (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
| * DTrejo | joined |
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
| * defunctzombie | changed 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
| * runningskull | changed 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
| * toddself | joined |
19:57:12
| * feross | joined |
19:58:26
| * toddself | quit (Ping timeout: 265 seconds) |
19:59:47
| * mikolalysenko | quit (Ping timeout: 272 seconds) |
20:03:25
| * ednapiranha | quit (Quit: Leaving...) |
20:06:09
| * ednapiranha | joined |
20:07:26
| * defunctzombie_zz | changed nick to defunctzombie |
20:13:00
| * ednapiranha | quit (Quit: Leaving...) |
20:13:12
| * Maciek416 | quit (Remote host closed the connection) |
20:13:47
| * Maciek416 | joined |
20:15:20
| * st_luke | joined |
20:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 37] |
20:17:59
| * Maciek416 | quit (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
| * chrisdickinson | is 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
| * chrisdickinson | nods |
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
| * chrisdickinson | nods |
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
| * mcollina | joined |
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
| * chrisdickinson | nods |
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
| * kevino80 | quit |
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_luke | quit |
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
| * rxgx | joined |
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
| * toddself | joined |
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
| * toddself | quit (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
| * ralphtheninja | joined |
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
| * tmcw | quit (Remote host closed the connection) |
21:06:51
| <chrisdickinson> | was thinking of package A reaching into package B |
21:07:26
| * tmcw | joined |
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
| * tmcw | quit (Ping timeout: 272 seconds) |
21:12:38
| <creationix> | yeah, I joined Raynos' team |
21:12:45
| <chrisdickinson> | awesome :) |
21:16:08
| * tmcw | joined |
21:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 35] |
21:23:22
| * DTrejo_ | joined |
21:23:31
| * DTrejo | quit (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
| * chrisdickinson | nods |
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
| * toddself | joined |
21:47:16
| * toddself | quit (Ping timeout: 264 seconds) |
21:51:49
| * thlorenz | quit (Remote host closed the connection) |
21:51:57
| * nexxy | changed nick to xyxne |
21:54:49
| * zz_runningskull | changed nick to runningskull |
21:56:26
| * thlorenz_ | joined |
21:56:38
| * thlorenz_ | quit (Remote host closed the connection) |
22:16:36
| * mpierce | joined |
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
| * toddself | joined |
22:40:59
| * toddself | quit (Ping timeout: 252 seconds) |
22:48:15
| * mcollina | quit (Remote host closed the connection) |
22:48:52
| * mcollina | joined |
22:50:09
| * jxson | joined |
22:53:06
| * mcollina | quit (Ping timeout: 245 seconds) |
22:54:35
| * jxson | quit (Ping timeout: 244 seconds) |
22:57:56
| * mpierce | quit (Quit: mpierce) |
23:12:29
| * rxgx | quit (Quit: timeout) |
23:16:45
| <rowbit> | Hourly usage stats: [developer: 0, free: 33] |
23:30:50
| * toddself | joined |
23:34:42
| * jxson | joined |
23:35:15
| * toddself | quit (Ping timeout: 252 seconds) |
23:42:11
| * mcollina | joined |
23:46:40
| * AvianFlu | quit (Ping timeout: 264 seconds) |
23:47:49
| * mcollina | quit (Ping timeout: 248 seconds) |
23:48:11
| * Maciek416 | joined |
23:49:40
| * williamcotton | quit (Quit: williamcotton) |
23:52:11
| * mpierce | joined |
23:55:07
| * mpierce | quit (Client Quit) |
23:58:18
| * tmcw | quit (Remote host closed the connection) |
23:58:50
| * tmcw | joined |