00:00:00
| * ircretary | quit (Remote host closed the connection) |
00:00:08
| * ircretary | joined |
00:10:39
| <jesusabdullah> | holy crap this iptables "tutorial" is 320 pages long |
00:10:43
| <jesusabdullah> | I'm fucked D: |
00:14:03
| * shama | joined |
00:17:39
| * maksimlin | quit (Quit: ChatZilla 0.9.90.1 [Firefox 26.0/20131206152142]) |
00:18:45
| * shama | quit (Ping timeout: 272 seconds) |
00:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 7] |
00:29:16
| * anoemi | quit (Quit: anoemi) |
00:30:42
| * calvinfo | joined |
00:32:01
| * kriskowal | joined |
00:34:24
| * kriskowal | quit (Client Quit) |
00:38:39
| <owen1> | jesusabdullah: (: |
00:38:51
| <owen1> | jesusabdullah: how is job hunt going? |
00:39:13
| * tearmann | quit (Quit: Leaving) |
00:47:13
| * thlorenz | quit (Remote host closed the connection) |
00:47:46
| * thlorenz | joined |
00:48:13
| * Maciek416 | joined |
00:48:27
| * shama | joined |
00:50:33
| <substack> | Raynos: I have a failing test for https://github.com/isaacs/npm/issues/4312 now |
00:52:35
| * thlorenz | quit (Ping timeout: 272 seconds) |
01:00:34
| <jesusabdullah> | owen1: idk |
01:00:36
| <jesusabdullah> | ¯\(°_o)/¯ |
01:05:59
| * mikolalysenko | joined |
01:07:18
| * yorick | quit (Remote host closed the connection) |
01:09:30
| <pkrumins> | substack: nice! |
01:09:57
| <substack> | https://github.com/isaacs/npm/pull/4368 |
01:10:04
| <substack> | pkrumins, Raynos: ^^^ |
01:10:13
| * thlorenz | joined |
01:10:43
| <pkrumins> | so good |
01:10:48
| <owen1> | jesusabdullah: if u'r ever in LA areaand need a place to stay, let me know |
01:10:55
| <pkrumins> | i'll put it in production right now |
01:10:57
| <pkrumins> | as a hackfix |
01:11:00
| <substack> | pkrumins: great! |
01:11:02
| <jesusabdullah> | owen1: sure |
01:11:20
| * thlorenz | quit (Remote host closed the connection) |
01:14:06
| <pkrumins> | in production |
01:16:26
| * pfraze | quit (Ping timeout: 264 seconds) |
01:17:39
| * ralphtheninja | quit (Ping timeout: 272 seconds) |
01:23:27
| * pfraze | joined |
01:23:36
| <robertkowalski> | substack: just saw your issue/pr on npm |
01:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 5] |
01:24:11
| <robertkowalski> | substack: maybe this helps https://github.com/isaacs/npm/blob/a211b73b79e24b77b77c043b8a19e1e1d4fe5003/test/tap/false_name.js ? |
01:28:54
| <robertkowalski> | might be almost a similiar setup |
01:38:22
| * timoxley | joined |
01:38:56
| * calvinfo | quit (Read error: Connection reset by peer) |
01:39:16
| * calvinfo | joined |
01:47:38
| * Maciek416 | quit (Remote host closed the connection) |
01:53:02
| <substack> | robertkowalski: I wrote that test. |
01:55:17
| <robertkowalski> | substack: yep, i know. |
01:58:10
| <robertkowalski> | substack: it was just changed to use mocked packages. |
01:59:54
| <substack> | ok |
02:00:24
| <substack> | it looks like I would need to update npm-registry-mock to include a package depended on by one of the existing packages |
02:00:31
| * mikolalysenko | quit (Ping timeout: 260 seconds) |
02:01:05
| <substack> | robertkowalski: I was using minimist, optimist, and wordwrap in my test |
02:01:26
| <substack> | if we could get all 3 of those into npm-registry-mocked I could write a test for this |
02:04:37
| <robertkowalski> | substack: i was hoping that the mocked package-with-one-dep and its dependant would work. feel free to submit a pr for whatever works for you in this case |
02:21:45
| * calvinfo | quit (Quit: Leaving.) |
02:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 7] |
02:30:15
| * calvinfo | joined |
02:33:53
| * anoemi | joined |
02:35:49
| * timoxley | quit (Remote host closed the connection) |
02:47:40
| * calvinfo | quit (Quit: Leaving.) |
03:01:12
| * mikolalysenko | joined |
03:05:48
| * Maciek416 | joined |
03:07:44
| <ogd> | so good http://www.youtube.com/watch?v=eKW5iugJChk&t=31m59s |
03:07:49
| <ogd> | substack: o/ |
03:12:53
| * calvinfo | joined |
03:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 5] |
03:26:04
| <substack> | ogd: so modular components will only be successful for 20 million years I guess |
03:26:26
| * AvianFlu_ | changed nick to AvianFlu |
03:36:41
| * calvinfo | quit (Quit: Leaving.) |
03:37:41
| <substack> | ogd: http://www.youtube.com/watch?v=eKW5iugJChk#t=45m12s |
03:37:46
| <grncdr> | substack: I look forward to your blog post recanting all previously held opinions |
03:38:28
| <mikolalysenko> | and I guess they will be replaced by middleware? |
03:38:32
| * mikolalysenko | quit (Quit: Lost terminal) |
03:38:39
| * thlorenz | joined |
03:39:03
| * mikolalysenko | joined |
03:39:43
| <grncdr> | also, this guy is awesome |
03:41:13
| <grncdr> | I started watching it and Erin is like "I love that guys voice" going to watch the whole thing now |
03:44:27
| <mikolalysenko> | actually, it looks like small modules died out because sex |
03:45:13
| <mikolalysenko> | trying to figure out if there is some moral to draw from this analogy... |
03:45:58
| <rowbit> | substack, pkrumins: These encoders are STILL down: 50.57.72.69(free7) |
03:54:13
| <ogd> | grncdr: you've never heard david attenborough before? he has 50 years worth of work that you need to catch up on! |
03:54:37
| * dominictarr | joined |
03:55:02
| <ogd> | grncdr: I just watched BBC Africa, its pretty mind blowing |
03:59:48
| <mikolalysenko> | any opinions on this proposal: https://github.com/mikolalysenko/control-flow/blob/master/doc/graph-types.md |
04:00:27
| <mikolalysenko> | I am working on creating a simpler intermediate representation for javascript |
04:00:41
| <mikolalysenko> | which is going to be a sort of control flow/3ac type of thing |
04:00:50
| <mikolalysenko> | maybe add ssa on top of that |
04:01:19
| <mikolalysenko> | the idea is that interpreting/analyzing this should be way easier than the output from esprima directly |
04:01:31
| <mikolalysenko> | since there will be fewer cases and other junk to consider |
04:18:13
| * mikolalysenko | quit (Ping timeout: 248 seconds) |
04:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 18] |
04:26:06
| * anoemi | quit (Quit: anoemi) |
04:34:12
| * mikolalysenko | joined |
04:34:26
| * pfraze | quit (Ping timeout: 264 seconds) |
04:48:01
| * contrahax | quit (Ping timeout: 240 seconds) |
04:51:26
| * mikolalysenko | quit (Ping timeout: 240 seconds) |
04:55:58
| <rowbit> | substack, pkrumins: These encoders are STILL down: 50.57.72.6(free5) |
04:56:59
| * thlorenz | quit (Remote host closed the connection) |
04:58:46
| * contrahax | joined |
05:05:06
| * timoxley | joined |
05:22:07
| * timoxley | quit (Ping timeout: 272 seconds) |
05:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 18] |
05:25:12
| * contraha_ | joined |
05:25:25
| * contrahax | quit (Ping timeout: 248 seconds) |
05:26:38
| * damonoehlman | quit (Quit: WeeChat 0.4.2) |
05:41:10
| * fotoverite | quit (Quit: fotoverite) |
05:56:39
| * fotoverite | joined |
06:05:34
| * defunctzombie | changed nick to defunctzombie_zz |
06:16:46
| * indexzero | quit (Quit: indexzero) |
06:21:35
| * fotoverite | quit (Quit: fotoverite) |
06:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 19] |
06:35:25
| * dominictarr | quit (Ping timeout: 250 seconds) |
06:58:50
| * Maciek416 | quit (Remote host closed the connection) |
07:00:45
| * thlorenz | joined |
07:03:52
| <substack> | https://github.com/pivotal/jasmine/pull/482 |
07:14:25
| * thlorenz | quit (Ping timeout: 252 seconds) |
07:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 43] |
07:31:37
| * calvinfo | joined |
07:50:02
| * shama | quit |
08:00:17
| * AvianFlu | quit (Remote host closed the connection) |
08:22:16
| * calvinfo | quit (Quit: Leaving.) |
08:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 42] |
08:41:42
| * hughsk | quit (Quit: Connection closed for inactivity) |
09:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 27] |
09:38:24
| * peutetre | joined |
09:42:42
| * dominictarr | joined |
09:45:59
| <rowbit> | substack, pkrumins: These encoders are STILL down: 50.57.72.69(free7) |
09:54:28
| * maf | joined |
09:55:31
| * maf | quit (Client Quit) |
09:55:41
| * mafintosh | joined |
10:06:46
| * jlord | quit (Ping timeout: 272 seconds) |
10:06:46
| * chilts | quit (Ping timeout: 272 seconds) |
10:07:07
| * jlord | joined |
10:07:16
| * chilts | joined |
10:07:48
| * mafintosh | quit (Quit: Leaving...) |
10:21:28
| * mafintosh | joined |
10:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 30] |
10:55:59
| <rowbit> | substack, pkrumins: These encoders are STILL down: 50.57.72.6(free5) |
11:04:13
| * mafintosh | quit (Quit: Leaving...) |
11:05:30
| * mafintosh | joined |
11:19:37
| * mafintosh | quit (Quit: Leaving...) |
11:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 23] |
11:41:58
| <dominictarr> | groundwater, you are in shanghai airport? where are you going? |
11:42:06
| <groundwater> | dominictarr: yah |
11:42:11
| <groundwater> | heading to hong kong |
11:43:07
| <groundwater> | the wifi here is terrible |
11:47:20
| <dominictarr> | airports! |
11:47:30
| <dominictarr> | try the coffee |
11:48:27
| <groundwater> | dominictarr: i wanna avoid caffeine so i can crash once i get to HK |
11:49:02
| <dominictarr> | I was only joking |
11:49:28
| <dominictarr> | china isn't really into coffee, anyway |
11:49:49
| <groundwater> | oh i'm sitting next to "Coffee & Cates" |
11:51:57
| <groundwater> | https://cloudup.com/cXzEqmyeNaA |
11:53:10
| <groundwater> | on the up side, i wrote a lot of NodeOS stuff on the plane |
11:55:40
| <groundwater> | dominictarr: you in the same time zone i guess? |
11:58:11
| * yorick | joined |
11:59:23
| <dominictarr> | groundwater, I'm in laos right now |
11:59:36
| <dominictarr> | one hour off. |
12:00:20
| <groundwater> | dominictarr: guess i shouldn't complain about wifi then |
12:01:39
| <dominictarr> | asia has great wifi, except in hotels and airports. |
12:02:43
| <groundwater> | i think it's a universal rule that an expensive hotel must have worse wifi than the $2 coffee shop across the street |
12:03:13
| * ralphtheninja | joined |
12:05:34
| <groundwater> | okay i'm gonna wander towards my gate down in the basement where i may or may not have wifi |
12:06:06
| <dominictarr> | groundwater, have a good trip! |
12:09:40
| * contraha_ | quit |
12:10:06
| * contrahax | joined |
12:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 30] |
12:35:19
| * timoxley | joined |
13:01:28
| * dominictarr | quit (Ping timeout: 240 seconds) |
13:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 31] |
13:24:18
| * mafintosh | joined |
13:42:49
| * mafintosh | quit (Quit: Leaving...) |
13:45:29
| * timoxley_ | joined |
13:47:27
| * timoxley | quit (Ping timeout: 240 seconds) |
13:49:16
| * kevino80 | joined |
14:13:36
| * timoxley_ | quit (Remote host closed the connection) |
14:21:11
| * thlorenz | joined |
14:24:05
| <rowbit> | Hourly usage stats: [developer: 0, free: 15] |
14:32:44
| * Maciek416 | joined |
14:34:45
| * thlorenz | quit (Ping timeout: 248 seconds) |
14:35:20
| * thlorenz | joined |
14:44:29
| * timoxley | joined |
14:46:01
| * thlorenz_ | joined |
14:46:31
| * thlorenz | quit (Read error: Connection reset by peer) |
14:49:05
| * timoxley | quit (Ping timeout: 252 seconds) |
15:03:48
| * AvianFlu | joined |
15:06:25
| * AvianFlu_ | joined |
15:08:34
| * AvianFlu | quit (Ping timeout: 246 seconds) |
15:15:11
| * AvianFlu_ | quit (Ping timeout: 272 seconds) |
15:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 22] |
15:35:44
| * timoxley | joined |
15:40:01
| * timoxley | quit (Ping timeout: 240 seconds) |
15:44:46
| * pfraze | joined |
15:45:22
| * defunctzombie_zz | changed nick to defunctzombie |
15:46:00
| <rowbit> | substack, pkrumins: These encoders are STILL down: 50.57.72.69(free7) |
15:51:52
| * mikolalysenko | joined |
15:57:58
| * tmcw | joined |
16:08:16
| * indexzero | joined |
16:16:03
| * ednapiranha | joined |
16:18:19
| <defunctzombie> | why don't errors get forwarded when piping streams? |
16:19:07
| <pfraze> | is there an other error stream? |
16:20:35
| <isaacs> | this is why peer dependencies was a bad idea: http://dontkry.com/posts/games/where-voxel-js-has-failed.html |
16:20:53
| * AvianFlu | joined |
16:20:57
| * fotoverite | joined |
16:21:40
| <Domenic_> | :(' |
16:22:03
| <isaacs> | Domenic_: well, it was a good implementation |
16:22:18
| <isaacs> | Domenic_: but it encourages the exact wrong approach to modular programs |
16:22:24
| <Domenic_> | i think it's worked out really well for grunt |
16:22:34
| <isaacs> | yeah, for grunt and express it works ok |
16:22:47
| <isaacs> | when you have a core that almost never makes breaking changes |
16:23:45
| <isaacs> | it's basically the same problem as "engines", though, at best. |
16:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 32] |
16:24:17
| <isaacs> | and allows dependency hell |
16:26:44
| <mikolalysenko> | regarding voxel.js, I've been thinking a bit lately about revisiting the concept... |
16:27:13
| <mikolalysenko> | but I do agree that peer dependencies are no good |
16:31:45
| * indexzero | quit (Quit: indexzero) |
16:32:36
| <defunctzombie> | Domenic_: https://github.com/defunctzombie/npm-install |
16:32:51
| <defunctzombie> | Domenic_: all sorts of guetto for now |
16:32:59
| <Domenic_> | defunctzombie: awesome |
16:33:01
| <defunctzombie> | Domenic_: but it does install my packages |
16:33:10
| <Domenic_> | brb |
16:34:03
| * indexzero | joined |
16:34:03
| * indexzero | quit (Client Quit) |
16:36:29
| * timoxley | joined |
16:40:28
| <Domenic_> | back |
16:40:32
| <Domenic_> | yeah this is swee |
16:40:40
| <Domenic_> | we still need a really solid cache |
16:40:52
| <Domenic_> | https://github.com/isaacs/npm/issues/4159 |
16:40:55
| * timoxley | quit (Ping timeout: 252 seconds) |
16:41:12
| <Domenic_> | I've been meaning to check out rlidwka's implementation for a while |
16:42:49
| <defunctzombie> | Domenic_: I hacked in a stupid caching layer |
16:43:37
| <defunctzombie> | Domenic_: not sure how low the caching layer should be honestly |
16:43:42
| <defunctzombie> | substack: https://github.com/substack/browser-pack/pull/28 |
16:44:10
| <defunctzombie> | Domenic_: https://github.com/defunctzombie/npm-install/blob/master/index.js#L96 |
16:44:24
| <defunctzombie> | in any case, that is the "interface" to any module fetching layer I have so far |
16:44:29
| <Domenic_> | the caching layer should be a generic HTTP cache |
16:44:33
| <Domenic_> | that respects the usual caching headers etc. |
16:44:36
| <defunctzombie> | so that layer can use a cache or not, up to it |
16:45:00
| <defunctzombie> | for now I just cache the tarballs via an md5 on the name and spec |
16:45:08
| <defunctzombie> | this has benefits and drawbacks |
16:45:29
| <defunctzombie> | Domenic_: also, I write an install file into the destination module https://github.com/defunctzombie/npm-install/blob/master/index.js#L85 |
16:45:47
| <defunctzombie> | Domenic_: this is how I check for now if I should reinstall a git dependency when the package.json changes |
16:45:57
| <defunctzombie> | regardless if the module version changed |
16:46:00
| <Domenic_> | defunctzombie: doesn't npm already have that? gitHead etc.? |
16:46:04
| <defunctzombie> | (package.json of the main module) |
16:46:21
| <defunctzombie> | Domenic_: no idea, I use it for more than just the git stuff |
16:46:27
| <Domenic_> | hmm hmm |
16:46:42
| <defunctzombie> | by storing the spec in that file, it is also used for regular version changes |
16:46:42
| <Domenic_> | isaacs: this is interesting stuff, are you eavesdropping? :) |
16:46:56
| <Domenic_> | i mean the regular version is in package.json also |
16:47:00
| <Domenic_> | i'm unconvinced about its need |
16:47:12
| <defunctzombie> | Domenic_: yes, but that fails for git usage |
16:47:22
| <Domenic_> | I don't think it does, because gitHead is in package.json |
16:47:22
| <defunctzombie> | if you bump the commit id but forget to bump version in git |
16:47:30
| <defunctzombie> | oh.. |
16:47:53
| <defunctzombie> | Domenic_: not if you install from github |
16:48:01
| <Domenic_> | hmm really? that's kind of horrible |
16:48:12
| <defunctzombie> | cause github isn't gonna alter your package.json |
16:48:19
| <defunctzombie> | I don't assume altered package.json |
16:48:23
| <Domenic_> | but npm might on the way down |
16:48:33
| <defunctzombie> | and the main thing I haven't implemented is the lifecycle scripts |
16:48:37
| <defunctzombie> | preinstall post, etc |
16:48:38
| <Domenic_> | yeah it does |
16:48:43
| <defunctzombie> | I only implemented gyp building |
16:48:48
| <Domenic_> | "_resolved": "git://github.com/kriskowal/q#4814de3a71549fe5c9c5a5c4ab587e917485604e", |
16:48:48
| <Domenic_> | "_from": "git://github.com/kriskowal/q", |
16:48:48
| <Domenic_> | "_fromGithub": true |
16:49:00
| <defunctzombie> | Domenic_: yea, I don't mess with the package file |
16:49:06
| <Domenic_> | hmm |
16:49:16
| <defunctzombie> | Domenic_: maybe I could, but for now I chose to leave it alone |
16:49:28
| <Domenic_> | it looks like it normalizes it, which seems fine |
16:49:34
| <Domenic_> | still don't like how README.md is in the package.json, ugh |
16:49:43
| <defunctzombie> | I mean.. I wrote this stuff in a few hours |
16:49:53
| <defunctzombie> | so... it isn't a work of art architecturally :) |
16:49:54
| <Domenic_> | :) |
16:50:02
| <defunctzombie> | yep I hate bloated package.json |
16:50:14
| <Domenic_> | yeah but i'm excited about getting it into npm eventually, so trying to figure out all the tricks. |
16:50:23
| <defunctzombie> | yea |
16:50:33
| <defunctzombie> | oh.. and I don't dedupe |
16:50:38
| * mikolalysenko | quit (Ping timeout: 264 seconds) |
16:50:46
| <defunctzombie> | this was a big thing I decided against in this module |
16:50:47
| <Domenic_> | yeah, that seems for the best... |
16:50:52
| <defunctzombie> | cause it avoids lots of logic |
16:50:55
| <defunctzombie> | that gets messy |
16:50:57
| <Domenic_> | dedupe should be an option I think... |
16:51:06
| <Domenic_> | right now it's weird it's like halfway between |
16:51:09
| <defunctzombie> | I think dedupe can be done after |
16:51:19
| <Domenic_> | i guess you want to avoid redundant requests? :-/ |
16:51:22
| <defunctzombie> | after you have an install tree, you can dedupe |
16:51:30
| <defunctzombie> | Domenic_: the caching layer is for that |
16:51:48
| <Domenic_> | well but you could avoid more if you used the semver information |
16:51:53
| <Domenic_> | (yes yes you always use exact dependencies) |
16:52:10
| <defunctzombie> | Domenic_: yea, you could https://github.com/defunctzombie/npm-install/blob/master/index.js#L105 |
16:52:21
| <Domenic_> | well i meant |
16:52:21
| <defunctzombie> | I hacked that in for now, but my caching layer is dumb |
16:52:33
| <Domenic_> | if you have a dependency on 2.x and 2.1.3 but the latest is 2.2.0 |
16:52:36
| <defunctzombie> | on purpose so I don't query http once I think I have a file that will match |
16:52:37
| <Domenic_> | you could only do the request for 2.1.3 |
16:52:42
| <Domenic_> | instead of for 2.1.3 and 2.2.0 |
16:53:14
| <defunctzombie> | right now my stuff will cache 2.x under a hash of 2.x |
16:53:22
| <defunctzombie> | and that example is a tossup |
16:53:23
| <Domenic_> | ah ok interesting |
16:53:37
| <defunctzombie> | cause you could technically be more correct to install 2.1.3 and 2.2.0 |
16:53:42
| <Domenic_> | yeah i dunno, i am fine with installing 2.1.3 and 2.2.0 |
16:53:44
| <defunctzombie> | cause that is what best meets the dependencies |
16:53:51
| <Domenic_> | and then relying on dedupe to squash it down |
16:53:56
| <defunctzombie> | yep |
16:53:57
| <Domenic_> | but that does make for slower installs |
16:54:06
| <defunctzombie> | but honestly, squashing that down is not a given imo |
16:54:17
| <defunctzombie> | I would just leave it deduped |
16:54:52
| <defunctzombie> | I dunno how much dedupe really helps at runtime |
16:55:02
| <defunctzombie> | I kinda feel like the libs are so small that it is almost a non factor |
16:56:00
| <rowbit> | substack, pkrumins: These encoders are STILL down: 50.57.72.6(free5) |
16:58:49
| * mafintosh | joined |
17:03:51
| * mafintosh | quit (Quit: Leaving...) |
17:04:50
| * mikolalysenko | joined |
17:13:47
| * ednapiranha | quit (Quit: Leaving...) |
17:15:14
| * ralphtheninja | quit (Read error: Operation timed out) |
17:18:27
| <grncdr> | defunctzombie: the bigger difference (for dedupe) is things like instanceof checks |
17:18:33
| <grncdr> | (imo) |
17:20:32
| <grncdr> | two copies of lib X that exports some constructor function C makes it quite possible to end up with `C` objects that don't pass `someC instanceof C` |
17:22:40
| <defunctzombie> | grncdr: is that actually true? |
17:22:48
| <defunctzombie> | grncdr: modules all get loaded into the same context right? |
17:22:50
| <grncdr> | I don't see why not? |
17:23:01
| <defunctzombie> | oh |
17:23:03
| <defunctzombie> | right I see |
17:23:29
| <grncdr> | I don't think it's been a big problem in practice for a lot of folks |
17:23:37
| <defunctzombie> | grncdr: hm.. not sure there is a good solution tho cause relying on dedupe to catch those cases in your code will end in sadness |
17:23:45
| <grncdr> | agreed |
17:23:46
| <defunctzombie> | grncdr: as dedupe is not a deterministic thing I think |
17:23:54
| <grncdr> | in my case, I'm thinking about any-db-transaction |
17:24:01
| <defunctzombie> | but that is certainly interesting to think about when thinking about instanceof checks |
17:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 20] |
17:24:27
| <grncdr> | instanceof checks are just the easiest thing to reason about, because they rely on object identity |
17:24:44
| <grncdr> | the bigger change is subtle differences between different versions of the module |
17:24:59
| * mikolalysenko | quit (Ping timeout: 260 seconds) |
17:25:03
| * fronx | joined |
17:25:12
| <grncdr> | like, I have C@1.0.2 and C@1.0.1, where 1.0.2 fixed a bug |
17:25:37
| <grncdr> | that bug will affect your program depending on which code path you got your C instances from |
17:26:20
| <grncdr> | this isn't a criticism of npm though. in the end, the person consuming dependencies has to be responsible for this sort of thing |
17:26:30
| <grncdr> | no matter what module system you use |
17:26:54
| <defunctzombie> | yep |
17:27:08
| <grncdr> | it's just quite possible (although probably not that common) to end up in a weird little edge cases like this |
17:33:01
| <rowbit> | substack, pkrumins: A developer is waiting in the queue for ie/10.0 |
17:37:13
| * timoxley | joined |
17:41:25
| * timoxley | quit (Ping timeout: 241 seconds) |
17:41:33
| * jcrugzz | joined |
17:46:31
| * fronx | quit (Remote host closed the connection) |
17:48:48
| * mafintosh | joined |
17:53:46
| * oren | part ("WeeChat 0.3.8") |
17:53:49
| <greweb> | grncdr: so you recommend to use 2.0.x or 2.x instead of specific versions? |
17:54:15
| <grncdr> | greweb: in that specific case, I opted to use 2.0.x |
17:54:38
| <grncdr> | but I'm actually planning to refactor that code so that there aren't as many duplicated deps |
17:56:54
| <greweb> | I was quite agreeing this approach until some libs broke the minor version.. it can easily break from one day to another.. the worse is when you have libs which depends on sub deps .x.x and you can't avoid them to download the latest until you put the explicit deps on the root package. |
17:57:19
| <grncdr> | well, I would never wild-card on a minor version, only patch |
17:57:42
| <greweb> | I see the advantage too, quite easy to bugfix a lib and avoid the dup problem you talked about |
17:57:55
| <grncdr> | and yeah, I've run into that before (transitive dependencies that upgrade without me noticing, breaking my code) |
17:59:00
| <grncdr> | the solution (IMO) is that you should rarely (if ever) be returning data from a dependency to users of your own module. |
17:59:02
| <greweb> | working in a team this is tough. I'm the guy who rm node_modules and test it again each day.. |
17:59:19
| * peutetre | quit (Quit: peutetre) |
17:59:27
| <grncdr> | greweb: are you developing an app or a module to be re-used? |
17:59:32
| <grncdr> | in your app, shrinkwrap |
17:59:34
| <grncdr> | all the time |
17:59:38
| <grncdr> | or check in node_modules |
17:59:46
| <greweb> | app |
17:59:54
| <grncdr> | for apps, I *strongly prefer* checking in node_modules |
17:59:58
| <greweb> | what is shrinkwrap? |
18:00:05
| <grncdr> | npm help shrinkwrap |
18:00:12
| <grncdr> | (explains it better than I will) |
18:00:56
| <grncdr> | also, if you don't mind my asking, where do you work? |
18:00:58
| <greweb> | i'm on my android right now but I'll give a try back home :-D |
18:01:35
| <greweb> | in a Paris startup called Zengularity |
18:02:21
| <grncdr> | here https://npmjs.org/doc/shrinkwrap.html |
18:03:12
| <greweb> | thanks |
18:03:14
| <grncdr> | it's the npm equivalent of the Gemfile.lock file that Bundler creates (if you're familiar with Bundler) |
18:06:10
| * st_luke | joined |
18:06:13
| <mafintosh> | whats the benefit of checking in app modules over using a shrinkwrap? |
18:06:17
| <greweb> | woo very cool to have that! thanks for sharing that I'll give a try! so I'll be the guy who upgrade the shrinkwrap version each month instead of checking each day! better job!! |
18:06:41
| * st_luke_ | joined |
18:06:48
| <greweb> | cleaner git repo |
18:07:18
| <greweb> | thats one reason probably :) |
18:07:40
| <mafintosh> | I would argue that the repo would be cleaner without node_modules :) |
18:08:23
| * ralphtheninja | joined |
18:09:04
| * thlorenz_ | quit (Remote host closed the connection) |
18:09:26
| <greweb> | yeah this is what I meant so i misunderstood your saying |
18:09:38
| <grncdr> | mafintosh: shrinkwrap doesn't check package contents |
18:09:49
| <grncdr> | the last section of the linked doc explains |
18:10:13
| <mafintosh> | arh ok - should probably just read that |
18:10:17
| * st_luke | quit (Ping timeout: 240 seconds) |
18:10:25
| <grncdr> | no worries, it's kind of long |
18:11:08
| <grncdr> | the thing is, I don't really buy the "cleaner repo" argument. the stuff in `node_modules` is your app as much as the stuff outside of it |
18:11:47
| <grncdr> | it's also way nicer to be able to use git bisect on bugs in your dependencies |
18:11:59
| <grncdr> | without having to reinstall them every time |
18:12:46
| <mafintosh> | I kinda agree with you ... but I does kinda mess with github statistics (since users adding modules will show up as massive contributors) |
18:13:17
| <grncdr> | who cares? |
18:13:27
| <grncdr> | this is for your app |
18:13:58
| <grncdr> | if your team is competing internally for github stats then you might have other problems |
18:14:30
| <greweb> | thats still find if you put the upgrades in one commit properly and don't mess up with work commit. but I think this goes terrible with pull request workflow |
18:14:32
| <grncdr> | or, I'll play devils advocate from a more extreme position: they *are* massive contributors |
18:14:52
| <greweb> | fine* (erf) |
18:15:13
| <grncdr> | I mean, they just brought in a bunch of code that solved that problem *super fast* |
18:15:18
| <grncdr> | ;) |
18:15:38
| <grncdr> | I agree somewhat with the PR thing |
18:15:51
| <mafintosh> | hah - I like that argument. fits well with "node philosophy" |
18:16:13
| <grncdr> | I mean, a PR that adds 100 files in node_modules is going to be a pain in the ass to review |
18:16:19
| <grncdr> | but there's an easy solution there |
18:16:25
| <mafintosh> | seperate commit? |
18:16:29
| <grncdr> | well yeah |
18:16:32
| <grncdr> | always a separate commit |
18:16:38
| <grncdr> | but even that's annoying to review |
18:16:48
| * trevnorris | quit (Ping timeout: 260 seconds) |
18:17:01
| <grncdr> | so you just pull it locally, remove and reinstall the module to verify that everything is the same |
18:17:37
| <grncdr> | that's more review than most people would do anyways |
18:17:43
| <mafintosh> | yeah |
18:18:52
| <mafintosh> | what about native modules? you just gitignore the build and do npm rebuild? |
18:19:04
| * fronx | joined |
18:19:07
| * trevnorris | joined |
18:19:26
| <grncdr> | yep |
18:19:43
| <grncdr> | most native modules already include their own .gitignore so you don't have to |
18:24:04
| <rowbit> | Hourly usage stats: [developer: 4, free: 17] |
18:26:13
| <substack> | these folks don't seem to get it :/ https://github.com/pivotal/jasmine/pull/482 |
18:26:49
| <substack> | so I'm going to fix it for them |
18:27:08
| * fronx | quit (Remote host closed the connection) |
18:27:25
| <substack> | because anarchy |
18:28:16
| <AvianFlu> | MERRY LOUDSMAS EVERYBODY |
18:28:16
| <LOUDBOT> | GOD DAMMIT WE NEED TO SAVE DANIEL JACKSON AGAIN |
18:30:43
| <jesusabdullah> | johnkpaul: can you tell paul I'm up and skype's on? |
18:31:07
| <grncdr> | substack: yay :D |
18:31:29
| <grncdr> | I look forward to https://npmjs.org/jasmine |
18:31:58
| <substack> | I mean I don't like jasmine but it belongs on npm |
18:32:08
| <substack> | and it deserves to be properly put up there |
18:32:26
| <grncdr> | honestly I was pretty surprised that it came up on your radar... |
18:32:43
| <substack> | I saw a blog post about how 2.0 was supposed to work with node and npm |
18:32:49
| <grncdr> | ah |
18:32:51
| <substack> | and then I saw that its package.json didn't have a "main" field |
18:32:54
| <substack> | and was like what the shit |
18:33:05
| <substack> | had "doing it wrong" written all over it |
18:33:43
| <grncdr> | well, it's not like you'll have a hard time giving them the name back if/when they stop being dumb |
18:33:47
| <Raynos> | substack: awesome |
18:33:55
| <Raynos> | substack: thanks for fixing npm :) |
18:34:09
| <substack> | Raynos: but they closed my PR |
18:34:14
| <grncdr> | Also good news: I just got confirmation for my Oakland AirBNB, Jan 3-17 I will be just on the east side of the lake |
18:34:18
| <jesusabdullah> | which substack ? |
18:34:20
| <substack> | anyways I'm going to publish anyways |
18:34:23
| <substack> | because that's how npm works |
18:34:33
| <substack> | they get to use npm on npm's terms, not their terms |
18:34:34
| * shama | joined |
18:34:42
| <Raynos> | substack: which PR ?https://github.com/isaacs/npm/pull/4368 is still open |
18:34:50
| <substack> | Raynos: oh right, that |
18:34:56
| <substack> | Raynos: https://github.com/pivotal/jasmine/pull/482 |
18:35:53
| <Raynos> | oh lol jasmine |
18:36:03
| <Raynos> | substack: I am many sads you have to support shitty test frameworks :( |
18:36:25
| <jesusabdullah> | uuuugh |
18:36:31
| <jesusabdullah> | fuck everything about the grunt model |
18:38:00
| * timoxley | joined |
18:38:39
| <grncdr> | jesusabdullah: :( |
18:42:25
| * timoxley | quit (Ping timeout: 246 seconds) |
18:43:11
| <Raynos> | lol grunt. |
18:43:18
| <Raynos> | jesusabdullah: can you do a blog post about why grunt is bad |
18:43:27
| <Raynos> | so I can share it with my coworkers without it being my opinion :D |
18:43:38
| <Raynos> | I can do the same for you :D |
18:44:14
| <substack> | Raynos: http://substack.net/task_automation_with_npm_run |
18:44:44
| <Raynos> | substack: thats the better alternative. not a "why grunt is terrible" |
18:45:09
| <jesusabdullah> | Not sure I could do it properly |
18:45:18
| <Raynos> | substack: do `|` and `>` work on windows ? |
18:45:40
| <grncdr> | Raynos: yes |
18:45:49
| <grncdr> | wait… maybe |
18:45:57
| <grncdr> | shit I can't remember, I looked into it once |
18:46:13
| <grncdr> | https://github.com/isaacs/npm/issues/3313 |
18:46:47
| <grncdr> | sorry, this one: https://github.com/isaacs/npm/pull/4058#issuecomment-28661116 |
18:47:03
| <jesusabdullah> | I think I might work through https://www.cs.auckland.ac.nz/software/AlgAnim/ds_ToC.html |
18:47:14
| <jesusabdullah> | I'll school ALL those noobs at data structures! |
18:48:53
| <substack> | what is going on... https://github.com/pivotal/jasmine/blob/master/spec/node_suite.js#L6-L7 |
18:49:21
| <grncdr> | Raynos: so chaining and redirection work (including > and |) but backgrounding doesn't |
18:50:28
| <grncdr> | substack: that is… weird |
18:50:44
| <AvianFlu> | substack: that's really scary |
18:51:52
| <substack> | https://github.com/pivotal/jasmine/blame/master/GOALS_2.0.md#L3-L5 |
18:51:53
| <Raynos> | grncdr: awesome |
18:53:50
| <jesusabdullah> | substack: lolwat |
18:57:57
| <substack> | anyways I'm going to work on my secret project instead |
19:01:33
| <grncdr> | that's cruel |
19:02:01
| <grncdr> | although maybe it should motivate me to work instead of idling around in IRC commenting on what other people do |
19:02:06
| <grncdr> | ;) |
19:05:14
| * thlorenz | joined |
19:17:56
| * st_luke | joined |
19:18:07
| * farnsworth | quit (Remote host closed the connection) |
19:18:07
| * cubert | quit (Remote host closed the connection) |
19:18:43
| * contraha_ | joined |
19:18:53
| * pfraze_ | joined |
19:22:17
| * jlord_ | joined |
19:23:45
| * yorick_ | joined |
19:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 25] |
19:25:14
| * yorick_ | quit (Client Quit) |
19:26:20
| * tilgovi_ | joined |
19:26:23
| * st_luke_ | quit (*.net *.split) |
19:26:23
| * pfraze | quit (*.net *.split) |
19:26:24
| * contrahax | quit (*.net *.split) |
19:26:24
| * yorick | quit (*.net *.split) |
19:26:24
| * jlord | quit (*.net *.split) |
19:26:25
| * chapel | quit (*.net *.split) |
19:26:25
| * Nexxy | quit (*.net *.split) |
19:27:20
| * Nexxy | joined |
19:27:52
| * chapel | joined |
19:28:03
| * xko | joined |
19:28:53
| * yorick | joined |
19:29:02
| * fronx | joined |
19:33:47
| * pfraze_ | changed nick to pfraze |
19:57:04
| * feross | joined |
19:58:52
| * calvinfo | joined |
20:08:01
| * rxgx | joined |
20:11:38
| * peutetre | joined |
20:15:03
| * tilgovi_ | quit (Ping timeout: 252 seconds) |
20:15:38
| <jesusabdullah> | man the CN guys are cool |
20:16:23
| <jesusabdullah> | oh noooo! PayPal turned me down tooooo |
20:16:28
| <jesusabdullah> | ;_; |
20:16:32
| <jesusabdullah> | I'll never get a job :( |
20:17:36
| <pfraze> | jesusabdullah I just gave an interview that I feel lame about. We can commiserate |
20:17:48
| <pfraze> | party hats all around |
20:17:52
| <jesusabdullah> | I didn't even feel lame about that interview, I felt really good about it |
20:17:54
| <jesusabdullah> | *sigh* |
20:18:12
| * calvinfo | quit (Quit: Leaving.) |
20:19:05
| <pfraze> | what kind of work are you looking for? |
20:19:16
| <jesusabdullah> | something with node |
20:19:19
| <substack> | jesusabdullah: you could apply at mapbox. tmcw works there |
20:19:21
| <jesusabdullah> | on a team that ships |
20:19:25
| * calvinfo | joined |
20:19:35
| <substack> | and they just raised a couple buckets of cash dollars |
20:19:45
| <substack> | raised them over their head |
20:19:50
| <jesusabdullah> | that's cool |
20:21:33
| <Domenic_> | substack: where's my https://npmjs.org/jasmine |
20:21:48
| * calvinfo | quit (Read error: Connection reset by peer) |
20:21:57
| <Domenic_> | (i find this situation highly amusing) |
20:21:58
| * calvinfo | joined |
20:22:01
| <substack> | Domenic_: they didn't want to merge it, said they have other plans |
20:22:12
| <Domenic_> | substack: right so i thought you were going to publish |
20:22:14
| <substack> | Domenic_: I should just publish it anyways but I guess there is already a jasmine-node |
20:22:41
| <Domenic_> | jasmine-node is like jasmine 1.3.1, ancient |
20:23:24
| <substack> | Domenic_: one thing that was really weird is that in their 2.0 goals notes they say "remove all globals" |
20:23:28
| <substack> | but the API is still global-based |
20:23:37
| <substack> | describe(), it(), moreGlobals() |
20:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 34] |
20:24:13
| <substack> | REMOVE SOME GLOBALS, KEEPING SOME EXISTING GLOBALS IN PLACE |
20:24:13
| <LOUDBOT> | I HAVE A DONKEY KONG IN MY ANUS AGAIN |
20:25:48
| <thlorenz> | jesusabdullah: happy all went well with CN hope something comes of it |
20:27:23
| <thlorenz> | defunctzombie: btw not sure what you mind by writing bindings for nodejs |
20:27:38
| <thlorenz> | isn't node already hooking into libuv to get stuff done? |
20:29:59
| <jesusabdullah> | thlorenz: Yeah me too :( I could use a break |
20:40:55
| * mafintosh | quit (Quit: Leaving...) |
20:41:03
| * AvianFlu | quit (Remote host closed the connection) |
20:46:19
| * AvianFlu | joined |
20:47:34
| * mafintosh | joined |
20:49:34
| * rxgx | quit (Quit: rage quit) |
20:49:46
| * rxgx | joined |
20:51:24
| * calvinfo | quit (Quit: Leaving.) |
20:53:04
| <Domenic_> | bootstrap makes me so mad |
20:53:10
| * calvinfo | joined |
20:54:59
| <substack> | Domenic_: what specifically? |
20:55:35
| <Domenic_> | their CSS is designed to make you write IE6-era HTML. But today it's that they like using <a>s that go nowhere instead of <button>s. |
20:55:46
| <Domenic_> | https://t.co/vLlzaAXwJf |
20:57:48
| * tilgovi_ | joined |
21:11:31
| * calvinfo | quit (Quit: Leaving.) |
21:12:01
| <defunctzombie> | thlorenz: https://github.com/defunctzombie/libuv.js |
21:12:24
| <defunctzombie> | Domenic_: just use their stuff as a learning tool and make your own |
21:12:32
| <defunctzombie> | Domenic_: their js is all jquery crap too and not modules |
21:12:36
| <thlorenz> | defunctzombie: I'm scared |
21:12:42
| <defunctzombie> | thlorenz: you should be |
21:13:27
| <mafintosh> | substack: any chance getting a merge for this? https://github.com/substack/node-editor/pull/9 |
21:14:29
| <thlorenz> | defunctzombie: looks interesting though, but gotta learn more C(++) and v8 stuff first, otherwise this module is not for me ;) |
21:14:43
| <defunctzombie> | haha |
21:17:00
| * fronx | quit (Remote host closed the connection) |
21:21:33
| * contraha_ | changed nick to contrahax |
21:23:20
| * fronx | joined |
21:24:04
| <rowbit> | Hourly usage stats: [developer: 12, free: 8] |
21:24:09
| <defunctzombie> | substack: just publish it |
21:24:24
| <defunctzombie> | substack: also merge my PR :p |
21:25:21
| * mafintosh | quit (Quit: Leaving...) |
21:37:24
| * st_luke_ | joined |
21:40:07
| * timoxley | joined |
21:40:08
| * kevino80 | quit |
21:42:03
| * mafintosh | joined |
21:42:29
| * st_luke_ | quit (Remote host closed the connection) |
21:44:31
| * timoxley | quit (Ping timeout: 252 seconds) |
21:46:01
| <rowbit> | substack, pkrumins: These encoders are STILL down: 50.57.72.69(free7) |
21:47:55
| * st_luke_ | joined |
21:57:25
| * AvianFlu | quit (Ping timeout: 248 seconds) |
22:00:54
| * peutetre | quit (Quit: peutetre) |
22:02:20
| <substack> | shama: there is some really good discussion in that PR https://github.com/maxogden/voxel-engine/issues/90 |
22:02:30
| <substack> | I'm going to use some of this in my jsfest talk |
22:04:05
| <substack> | mafintosh: published |
22:04:52
| <mafintosh> | substack: nice thanks! |
22:09:36
| <shama> | substack: awesome |
22:11:01
| * kriskowal | joined |
22:15:49
| <substack> | defunctzombie: I wonder how this prelude patch interferes with how `require=` bundles work |
22:16:08
| <substack> | sometimes they will just have the entry but other times they will start with `require=` |
22:17:14
| * st_luke_ | quit (Remote host closed the connection) |
22:24:04
| <rowbit> | Hourly usage stats: [developer: 0, free: 19] |
22:26:31
| <ralphtheninja> | merry xmas! |
22:35:58
| * mafintosh | quit (Quit: Leaving...) |
22:40:48
| * timoxley | joined |
22:43:54
| * Maciek416 | quit (Remote host closed the connection) |
22:45:19
| * timoxley | quit (Ping timeout: 246 seconds) |
22:45:42
| * Maciek416_ | joined |
22:46:48
| * Maciek416_ | quit (Remote host closed the connection) |
22:51:20
| * Maciek416 | joined |
22:56:02
| <rowbit> | substack, pkrumins: These encoders are STILL down: 50.57.72.6(free5) |
23:00:53
| * indexzero | joined |
23:01:59
| <defunctzombie> | substack: hm, can we detect that? |
23:02:04
| * Maciek416 | quit (Remote host closed the connection) |
23:02:48
| <defunctzombie> | substack: seems like that should be conditional on adding the prelude in the first place then |
23:07:18
| * xko | quit (Remote host closed the connection) |
23:07:35
| * timoxley | joined |
23:12:06
| * calvinfo | joined |
23:16:51
| * calvinfo | quit (Ping timeout: 260 seconds) |
23:19:39
| * oky | joined |
23:20:51
| * st_luke_ | joined |
23:22:06
| * calvinfo | joined |
23:24:03
| <rowbit> | Daily usage stats: [developer: 24, free: 510] |
23:24:04
| <rowbit> | Hourly usage stats: [developer: 8, free: 13] |
23:25:20
| * oky | changed nick to xoko |
23:26:16
| * calvinfo | quit (Ping timeout: 246 seconds) |
23:26:32
| <rowbit> | substack, pkrumins: Encoders down: 50.56.27.70 (dev-ie6-1) |
23:28:27
| <defunctzombie> | st_luke: gonna implement that file:// stuff into my npm-install playground module |
23:32:48
| <thlorenz> | defunctzombie: substack so you get this, I don't: https://github.com/benbria/browserify-transform-tools/ |
23:33:00
| <thlorenz> | it makes it seem so complicated to write a transform |
23:33:13
| <thlorenz> | s/so/do |
23:34:29
| * contrahax | quit |
23:38:25
| * contrahax | joined |
23:41:38
| * pfraze | quit (Ping timeout: 264 seconds) |
23:47:59
| * fronx | quit (Remote host closed the connection) |
23:49:04
| <grncdr> | hm, rvagg: is there a way to write use through2 to transform strings/buffers into objects? |
23:50:53
| * fronx | joined |
23:51:49
| * mikolalysenko | joined |
23:52:26
| <defunctzombie> | thlorenz: engineers gonna engineer |
23:56:21
| <thlorenz> | defunctzombie: substack we so need global transforms, i.e. they get invoked when child deps get resolved as well |
23:56:32
| <thlorenz> | my viralify hack is causing more pain than gain |
23:56:43
| <defunctzombie> | global transforms? |
23:57:14
| <thlorenz> | yep, so when some dependency gets resolved I wanna maybe transform that as well |
23:57:49
| <thlorenz> | but if it has it's own package.json and my transform is not in it, it doesn't run my transform for those files |
23:58:36
| <thlorenz> | which is why I wrote viralify, which injects my transform into all these dependencies, but as I said --- not working too great for larger packages with lots of dependencies |