00:00:00  * ircretaryquit (Remote host closed the connection)
00:00:09  * ircretaryjoined
00:00:35  * anandthakkerjoined
00:05:04  * oncenulljoined
00:33:30  * phatedjoined
00:38:05  * phatedquit (Ping timeout: 252 seconds)
00:38:36  * contrahaxquit (Ping timeout: 252 seconds)
00:41:03  * contrahaxjoined
00:46:31  * contrahaxquit (Ping timeout: 252 seconds)
00:50:32  * thlorenzjoined
00:50:33  * contrahaxjoined
00:56:47  * phatedjoined
01:01:24  * phatedquit (Ping timeout: 246 seconds)
01:04:12  * toddselfjoined
01:22:00  * anandthakkerquit (Quit: anandthakker)
01:24:17  * toddselfquit
01:31:01  * oncenullquit (Remote host closed the connection)
01:32:24  * anandthakkerjoined
01:48:37  * contrahaxquit (Ping timeout: 245 seconds)
01:48:49  * sethvincentjoined
01:49:42  * dguttmanquit (Quit: dguttman)
01:52:55  * contrahaxjoined
01:57:47  * contrahaxquit (Ping timeout: 246 seconds)
02:18:22  * DamonOehlmanquit (Remote host closed the connection)
02:18:40  * DamonOehlmanjoined
02:23:00  * tixzquit (Remote host closed the connection)
02:25:15  * oncenulljoined
02:36:58  <DamonOehlman>@collypops - I'm with you on this actually, and I'm not 100% sure that observ-varhash is what you want in all cases
02:37:18  <DamonOehlman>collypops: we are using observ-array pretty actively still
03:06:01  * thlorenzquit (Remote host closed the connection)
03:14:19  * phatedjoined
03:20:56  * phatedquit (Remote host closed the connection)
03:23:32  * tixzjoined
03:24:50  * oncenullquit
03:31:27  * tixzquit (Ping timeout: 264 seconds)
03:38:07  * jxsonquit (Remote host closed the connection)
03:41:01  * jxsonjoined
03:46:00  * jxsonquit (Ping timeout: 272 seconds)
04:01:47  * anandthakkerquit (Quit: anandthakker)
04:12:13  * phatedjoined
04:20:40  * phatedquit (Remote host closed the connection)
04:36:12  * dguttmanjoined
04:52:13  * phatedjoined
04:55:52  * phatedquit (Remote host closed the connection)
05:24:54  * pfrazequit (Remote host closed the connection)
05:41:16  * dguttmanquit (Quit: dguttman)
05:45:35  <collypops>@DamonOehlman I'd like to be sold on an aternative - I see why it's a bit clunky (and all the array methods need to be re-implemented - it's in incomplete API at this state)
05:48:23  <collypops>chrisdickinson: a beefy question, if you don't mind: is there any reason why I can't access a beefy server from another machine?
05:49:14  <collypops>chrisdickinson: I can access node servers on other ports from an IE VM, but beefy servers don't respond
05:52:21  * phatedjoined
05:56:56  <chrisdickinson>collypops: hm, there shouldn't be any reason – beefy should listen on <default>:9966
05:57:12  <chrisdickinson>perhaps it's not defaulting to 0.0.0.0 :\
05:59:52  <collypops>chrisdickinson: yeah, that's what I thought. <http.Server>.listen defaults to INADDR_ANY when no argument is passed in
06:00:06  <collypops>chrisdickinson (which beefy correctly omits)
06:00:20  <collypops>chrisdickinson: maybe it's an issue with these IE VMs
06:00:29  * fotoveritequit (Quit: fotoverite)
06:01:47  <collypops>chrisdickinson: hmmm - the request gets through....
06:03:28  <collypops>chrisdickinson https://cloudup.com/cINIMl1fkZJ
06:03:44  <collypops>first req is local. 2nd is from the VM
06:03:56  <collypops>both ask for / yet the response is different
06:05:22  <chrisdickinson>what are you using to generate the request that 404's? a browser, or something else?
06:06:06  <collypops>internet explorer
06:06:15  <joepie91> oh dear
06:06:25  <chrisdickinson>hmmm, I bet the accept header parsing isn't catching something
06:06:36  <collypops>I thought it may be headers
06:07:04  <chrisdickinson>would you mind adding a log statement to your copy of beefy to grab the accept header out?
06:07:15  <collypops>sure
06:09:30  <collypops>same req order: https://cloudup.com/cJ1Z1c3wdHn
06:10:32  <chrisdickinson>oh wow, haha
06:10:38  <chrisdickinson>yep, that's the problem!
06:10:39  <collypops>what did you notice? :p
06:11:46  <collypops>i see they've left out text/html, but end with */* anyway
06:12:10  * tilgoviquit (Remote host closed the connection)
06:13:44  <chrisdickinson>the default index generation module uses the accept header to decide whether or not to respond to the request
06:13:57  <chrisdickinson>specifically, it's looking for "html" :\
06:14:05  <chrisdickinson>(someplace in the header)
06:14:14  <collypops>ahhhhh, so it is
06:14:28  <joepie91>chrisdickinson: isn't there an accept header parsing module for that?
06:14:35  <joepie91>to test content types against such a header
06:14:43  <joepie91>I would expect there to be...
06:15:21  <chrisdickinson>it probably wouldn't solve this problem – we're looking for headers that specifically state "html" – an accept module would likely say "does this accept header accept html?"
06:16:57  <collypops>it's a hard test to update
06:17:30  <joepie91>chrisdickinson: isn't that what you want to know, though?
06:17:59  <joepie91>I can't really see a usecase where the *goal* is "does the header specifically state html"
06:18:00  <chrisdickinson>joepie91: close – we want to know "did they specifically ask for HTML," not "is HTML acceptable?"
06:18:03  <joepie91>I can only see it as a tool
06:18:13  <joepie91>chrisdickinson: why would you want to know that..?
06:18:19  <joepie91>like, what problem are you trying to solve
06:18:27  <collypops>now we know some browsers won't specifically ask for it
06:18:37  <collypops>_some_ browers
06:18:45  <collypops>*glares at IE*
06:18:59  <joepie91>collypops: right, but that's the point - this isn't the correct way to use the Accept header, so I'm trying to figure out whether there's a rationale for doing specifically this :)
06:19:06  <chrisdickinson>there is :)
06:19:07  <joepie91>(scanning for 'html', I mean)
06:19:10  <joepie91>chrisdickinson: okay, what is it?
06:19:52  <chrisdickinson>beefy is a tool for local development – a static dev server for browserify
06:20:21  <chrisdickinson>what beefy does when it can't find a file on disk – if the client has asked for html – is serve up a generated "index.html"
06:20:30  <chrisdickinson>so you don't need to stub out html to start working on a browserify project.
06:20:41  <chrisdickinson>however this gets into the issue of "when should beefy 404?"
06:20:47  <collypops>yup
06:21:07  <chrisdickinson>the answer in this case is – if they've asked for a file that doesn't exist and they don't intend it to be html (it isn't the result of a browser navigation)
06:21:28  <joepie91>collypops: the general approach for this kind of deal is to make a list of "404-able content types" like image/* formats and application/octet-stream, and check whether their priority is higher than the HTML content type
06:21:31  <joepie91>taking into account */*
06:21:36  <joepie91>if the priority is higher, serve a 404
06:21:40  <joepie91>if it is not, serve index.html
06:21:55  <collypops>I think we'd be safe to assume that if request.path was / or /index.html, that's when we generate the index.html file
06:22:02  <joepie91>the Accept header is priority-based - earlier means higher priority
06:22:08  <chrisdickinson>so yes, for a production webserver, this is not the correct use of Accept.
06:22:14  <chrisdickinson>but this isn't for a production webserver.
06:22:18  <joepie91>chrisdickinson: even for dev, the above approach would work better
06:22:29  <chrisdickinson>patches welcome :)
06:22:37  <joepie91>it's a conceptual patch :)
06:22:44  <joepie91>have too much to do to actually write more code
06:23:06  <collypops>I'm happy to send a PR - just wanna make sure you're not married to using req.headers.accept as the test
06:23:20  <collypops>cause I don't see a way of checking on that alone
06:23:23  <joepie91>(writing code, testing it, packaging it, etc. takes a LOT more time than describing how it should work... and given that my bank account is currently at 0 euro, literally, my priorities right now are elsewhere)
06:23:30  <chrisdickinson>with regards to testing for `/` or `/index.html` – the problem there is XHRs.
06:23:41  <joepie91>X-Requested-With?
06:23:42  <collypops>ah, of course
06:23:51  <chrisdickinson>joepie91: or `new Image`.
06:23:58  <chrisdickinson>(etc, etc.)
06:24:00  <joepie91>new Image will not accept text/html
06:24:09  <joepie91>and/or not prioritize it
06:24:13  <chrisdickinson>on most browsers, yes, but I'm not sure about IE7.
06:24:30  <joepie91>my bet is that for IE7, the header would look something like [...], image/*, [...], */*
06:24:42  <chrisdickinson>(which appears to accept image/jpeg as highest priority.)
06:24:47  <joepie91>the */* at the end being for dealing with incorrect content mimetypes
06:24:57  <chrisdickinson>yep, I know how the accept header works.
06:25:03  <joepie91>right
06:25:08  <joepie91>the test I just described, works for this
06:25:15  <joepie91>html has a lower prio than an image type
06:25:20  <joepie91>thus don't serve index.html
06:25:27  * sethvincentquit (Ping timeout: 256 seconds)
06:25:42  <chrisdickinson>but the Image should 404.
06:25:47  <joepie91>yes?
06:27:15  <chrisdickinson>in this case, IE7 sends a navigation request where image/jpeg is higher priority than text/html (accepted via */*)
06:28:00  <joepie91>and?
06:28:06  <joepie91>in the thing I described, that would lead to a 404
06:28:11  <chrisdickinson>which would be incorrect.
06:28:20  <joepie91>how would it be?
06:28:50  <joepie91>oh wait
06:28:52  <joepie91>you mean for /?
06:28:52  <chrisdickinson>it is the result of a browser navigation (it's looking for html, at least on a theoretical level), and should generate a fake index.html.
06:28:56  <chrisdickinson>yep
06:28:57  <collypops>gotta duck out for a bit. I'll think on this and send a PR. thanks for your time, chrisdickinson
06:29:03  <joepie91>right, I thought you were still talking about new Image
06:29:08  <chrisdickinson>ah, sorry.
06:29:11  <joepie91>okay, yeah, that's strange
06:29:15  <joepie91>hadn't noticed that
06:29:24  <joepie91>hm.
06:29:27  <chrisdickinson>collypops: no problem! in the meantime, you might just create an index.html in cwd :)
06:29:39  <chrisdickinson>but a patch would be super welcome.
06:29:55  <collypops>I'm wanting to take advantage of {{entry}} ;)
06:30:18  <collypops>but yeah, I think I'll just replace it with the generated entry point URL
06:30:20  <collypops>cheers!
06:39:21  * phatedquit (Remote host closed the connection)
06:44:09  * DamonOehlmanquit (Ping timeout: 265 seconds)
06:50:07  * anvakaquit (Remote host closed the connection)
07:01:01  * tixzjoined
07:05:39  * tixzquit (Ping timeout: 245 seconds)
07:50:03  * contrahaxjoined
08:02:01  * thealphanerdquit (Quit: thealphanerd)
08:19:31  * tixzjoined
08:19:44  * jxsonjoined
08:21:51  * contrahaxquit (Read error: Connection reset by peer)
08:21:59  * contraha_joined
08:24:27  * jxsonquit (Ping timeout: 256 seconds)
08:25:48  * pfrazejoined
08:27:51  * phatedjoined
08:28:35  * contraha_quit (Read error: Connection reset by peer)
08:30:32  * pfrazequit (Ping timeout: 256 seconds)
08:31:34  * contrahaxjoined
08:31:44  * peutetrejoined
08:32:48  * phatedquit (Ping timeout: 256 seconds)
09:00:44  * DamonOehlmanjoined
09:50:15  * DamonOehlmanquit (Read error: Connection reset by peer)
09:50:23  * DamonOehlman1joined
09:55:09  * DamonOehlman1quit (Remote host closed the connection)
09:56:18  * DamonOehlmanjoined
10:05:51  * peutetrequit (Quit: ...)
10:16:47  * phatedjoined
10:20:10  * collypop_joined
10:21:03  * phatedquit (Ping timeout: 246 seconds)
10:21:58  * peutetrejoined
10:39:59  * phatedjoined
10:44:50  * phatedquit (Ping timeout: 256 seconds)
10:55:38  * stagasjoined
10:57:55  * fotoveritejoined
11:22:41  * ircretaryquit (Ping timeout: 252 seconds)
11:24:53  * rwaldronquit (Ping timeout: 252 seconds)
11:25:10  * rwaldronjoined
11:41:37  * sz0joined
11:50:46  * tixzquit (Remote host closed the connection)
11:54:37  * tixzjoined
11:57:29  * thlorenzjoined
12:00:03  * thlorenzquit (Remote host closed the connection)
12:09:01  * thlorenzjoined
12:09:23  * AvianPhonejoined
12:09:46  * AvianPhonepart
12:14:13  * nickleeflyjoined
12:27:44  * tixzquit (Remote host closed the connection)
12:29:16  * tixzjoined
12:30:26  * tixzquit (Remote host closed the connection)
12:40:58  * tixzjoined
12:51:41  * oncenulljoined
13:07:03  * knownasilyajoined
13:16:16  * reqsharkjoined
13:39:55  * toddselfjoined
13:53:57  * contrahaxquit (Ping timeout: 250 seconds)
14:18:18  * stagasquit (Remote host closed the connection)
14:22:10  * pfrazejoined
14:27:10  * dguttmanjoined
14:34:51  * nickleeflyquit (Quit: Connection closed for inactivity)
14:36:21  * contrahaxjoined
15:00:12  * contrahaxquit (Quit: Sleeping)
15:05:01  * oncenullquit (Remote host closed the connection)
15:05:29  * posejoined
15:06:47  * toddselfquit
15:10:12  * posequit (Ping timeout: 265 seconds)
15:20:49  * contrahaxjoined
15:27:08  * therealkoopajoined
15:31:01  * contrahaxquit (Ping timeout: 250 seconds)
15:31:40  * contrahaxjoined
15:33:58  * posejoined
15:34:49  * jxsonjoined
15:39:22  * jxsonquit (Ping timeout: 240 seconds)
15:42:56  * therealkoopaquit (Remote host closed the connection)
16:02:34  * cubertquit (Ping timeout: 272 seconds)
16:03:21  * farnsworthquit (Ping timeout: 246 seconds)
16:06:53  * contrahaxquit (Quit: Sleeping)
16:08:08  * cubert_joined
16:10:04  * farnsworthjoined
16:10:16  * collypop_quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
16:29:03  * thlorenzquit (Remote host closed the connection)
16:33:28  * thlorenzjoined
16:33:49  * anandthakkerjoined
16:35:18  * thlorenzquit (Remote host closed the connection)
16:39:55  * toddselfjoined
16:46:39  * tixzquit (Remote host closed the connection)
17:07:20  * jxsonjoined
17:26:08  * Guest94653changed nick to bengl
17:31:42  * jxson_joined
17:35:12  * jxsonquit (Ping timeout: 265 seconds)
17:36:05  * thlorenzjoined
17:36:18  * jxson_quit (Ping timeout: 272 seconds)
17:37:28  * shamajoined
17:40:43  * thlorenzquit (Ping timeout: 252 seconds)
17:45:28  * thlorenzjoined
17:45:30  * anandthakkerquit (Quit: anandthakker)
17:45:54  * thlorenzquit (Remote host closed the connection)
17:46:25  * lnrquit (K-Lined)
17:46:26  * thlorenzjoined
17:53:09  * thlorenzquit (Remote host closed the connection)
17:53:40  * thlorenzjoined
18:01:04  * jxsonjoined
18:07:14  * phatedjoined
18:16:24  * jxsonquit (Remote host closed the connection)
18:20:21  <Raynos>collypops: using hashes instead of arrays is simpler.
18:20:35  <Raynos>Mostly because hashes are a lot easier to replicate and serialize / deserialize.
18:22:28  * thlorenzquit (Remote host closed the connection)
18:25:59  * peutetrequit (Quit: ...)
18:42:47  * thlorenzjoined
18:52:46  * posequit
18:55:35  * toddselfchanged nick to toddself_zz
19:00:02  <jcrugzz>mafintosh: have you seen any issue with creating many many sublevels?
19:00:06  <jcrugzz>using subleveldown
19:00:24  <jcrugzz>was wondering if im crazy trying to create a million sublevels
19:00:32  <jcrugzz>that each could have 1 to n many records
19:01:03  <jcrugzz>was thinking i could shard this over a few leveldbs but wasnt sure what the throttle point would be
19:01:19  <jcrugzz>let me know what you think if you have a min :)
19:12:10  * anandthakkerjoined
19:23:32  * jxsonjoined
19:35:19  * shamaquit (Quit: (╯°□°)╯︵ɐɯɐɥs)
19:43:02  * thealphanerdjoined
19:44:02  * peutetrejoined
19:44:46  * toddself_zzchanged nick to toddself
19:45:12  * peutetrequit (Client Quit)
20:02:36  <mafintosh>jcrugzz: assuming you don't hold all of them in memory at once you'll probably be fine
20:03:16  <mafintosh>jcrugzz: whats the use-case for doing it?
20:14:33  * peutetrejoined
20:16:11  * therealkoopajoined
20:20:33  * phatedquit (Remote host closed the connection)
20:33:01  * phatedjoined
20:47:54  * cubert_changed nick to cubert
20:48:31  * therealkoopaquit (Remote host closed the connection)
20:53:00  * tixzjoined
21:02:15  * DamonOehlmanquit (Ping timeout: 246 seconds)
21:03:09  * peutetrequit (Quit: ...)
21:14:56  * peutetrejoined
21:18:59  * peutetrequit (Client Quit)
21:28:03  * fotoveritequit (Quit: fotoverite)
21:32:00  * tilgovijoined
21:40:49  * toddselfchanged nick to toddself_zz
21:44:19  <jcrugzz>mafintosh: is there that much overhead? And doing a massive database migration. Leveldb is the intermediary cache after data is transformed. Need to keep key spaces separate (via sub levels) for striping of requests
21:45:24  <mafintosh>jcrugzz: no probably not - it just instantiaties an abstract-leveldown prototype for each its probably not that bad
21:47:19  <jcrugzz>mafintosh: Ok cool. I'll let you know how I make out
21:47:29  * fotoveritejoined
21:47:38  <mafintosh>jcrugzz: nice
21:56:14  * DamonOehlmanjoined
22:09:52  * thlorenzquit (Remote host closed the connection)
22:13:07  * passyjoined
22:23:59  * thlorenzjoined
22:27:15  * tilgoviquit (Remote host closed the connection)
22:28:53  * toddself_zzchanged nick to toddself
22:30:53  * DamonOehlmanquit (Ping timeout: 240 seconds)
22:35:59  * thlorenzquit (Remote host closed the connection)
22:37:13  * thlorenzjoined
22:38:45  * sz0quit (Quit: Bye.)
22:39:52  * DamonOehlmanjoined
22:40:39  * thlorenz_joined
22:42:12  * thlorenzquit (Ping timeout: 272 seconds)
22:45:16  * thlorenz_quit (Ping timeout: 264 seconds)
22:54:52  * pfrazequit (Remote host closed the connection)
22:59:16  * toddselfchanged nick to toddself_zz
23:08:58  * tixzquit (Remote host closed the connection)
23:38:58  * tilgovijoined
23:41:27  * thlorenzjoined
23:46:10  * thlorenzquit (Ping timeout: 255 seconds)
23:53:39  * anandthakkerquit (Quit: anandthakker)