09:59:02 <pastly> #startmeeting Simple Bandwidth Scanner weekly meeting 09:59:02 <MeetBot> Meeting started Thu Apr 26 09:59:02 2018 UTC. The chair is pastly. Information about MeetBot at http://wiki.debian.org/MeetBot. 09:59:02 <MeetBot> Useful Commands: #action #agreed #help #info #idea #link #topic. 09:59:24 <pastly> greetings 09:59:33 <juga> hi 09:59:56 <pastly> pad is https://pad.riseup.net/p/6292yqhUOuHC 10:00:17 <pastly> I finally found your/teor4's email for your proposed SoP schedule 10:01:11 <juga> i'd like to make it public, teor is that fine? 10:02:10 <juga> many tickets there are for little tor 10:02:11 <teor4> sure 10:02:53 <juga> pastly: tor tickets: https://trac.torproject.org/projects/tor/query?status=!closed&cc=%7Ejuga 10:03:29 <pastly> Fun stuff, juga :p 10:04:06 <juga> teor4: pastly hmm, any recommendation on where to paste those tasks? 10:04:15 <juga> otherwise i paste for now in meeting pad 10:04:16 <pastly> Oh, apologies for contributing to the confusion about 1-line headers vs 4-line. 10:04:39 <pastly> pad. Maybe we can put them in the sbws wiki after the meeting 10:05:05 <juga> pastly: no problem, it's nice that now it's clearer 10:05:37 <teor> juga: you could open a top-level ticket for your SoP work, and make all those tickets child tickets 10:06:09 <teor> You can make a ticket a child ticket of the parent ticket by setting its ticket field to #parent-id 10:06:19 <juga> teor: nice idea, thx 10:06:42 <juga> pastly: and maybe i could also create a milestone in sbws with work for sop 10:06:47 <teor> Then your tickets will be like all the other network team milestones 10:07:02 <pastly> juga: sure sounds fine 10:07:13 <teor> Yes, that will help pastly and I see how things are progressing 10:07:49 <juga> teor: though you were suggesting that in tor trac, right? 10:08:31 <teor> juga: I think the tor tickets should be in tor trac, and the sbws tickets should be in the sbws tracker 10:08:54 <teor> (Until we decide to move sbws tickets to trac, or move tor away from trac) 10:08:56 <juga> teor: right, ok 10:09:40 <juga> pastly, teor: on more organizational stuff, i created a project in gh to try to see better what's done, needs to do: https://github.com/pastly/simple-bw-scanner/projects/3 10:09:54 <juga> still not sure it helps much 10:10:15 <asn> (epic timezone sync at this time people. congrats!) 10:10:35 <pastly> I'm not sure either. It seems to automatically grab all ticket you open but not anyone else's. 10:11:17 <pastly> I think it would be better to have a Project that tracks some topic and we manually add tickets to it. Milestones could similarly be used (as I was going to use for the switch to HTTP/s) 10:11:19 <juga> pastly: just cause i'm assigning them manually to project, as i do with milestones and tags 10:12:05 <juga> pastly: works for me 10:12:06 <pastly> I also don't want to tell you to not do something that you'd find helpful. 10:12:19 <pastly> Especially if I don't necessarily have to do much more than just look at it ;) 10:12:48 <pastly> So right now the Project seems kinda pointless, but if you want to use it go for it. Especially if it's oriented torwards larger multi-ticket goals 10:13:14 <juga> k 10:13:46 <pastly> (thanks asn) PS I think I'd prefer we start at 0930 next week if we like this "morning" (for me) time. 10:14:02 <juga> pastly: fine for me 10:14:23 <juga> re. sop, what else to discuss? 10:14:39 <pastly> Because at 1100 UTC I absolutely have to stop and go. 10:14:59 <juga> pastly: actually we could make this 30min 10:15:21 <pastly> I think you were wondering if it was okay to work on something on the schedule right now 10:15:38 <juga> right, i see to ways there 10:16:13 <pastly> And for a variety of reasons, I think yes you absolutely should work on something now even if it isn't scheduled yet. One of those reasons is programmers suck at estimating time 10:17:33 <juga> pastly: and i'm sure we'll find way more tasks, and still keeping busy with other tasks... :) 10:17:45 <pastly> yup yup yup 10:18:02 <pastly> anything else about sop now? 10:18:05 <juga> pastly: you have any other thing to comment on sop? 10:18:13 <juga> he, not right now from my side 10:18:16 <juga> teor? 10:18:34 <teor> juga: if you want to get the bwfile header in the votes in Tor 0.3.4, you should do that task this week 10:18:44 <teor> But I don't think it's a priority, it can wait for 0.3.5. 10:18:59 <juga> teor: ah, ok, good to know, thx 10:19:11 <pastly> no I'm good wrt sop 10:19:17 <juga> ok 10:19:27 <juga> https vs server then? 10:19:29 <teor> I am ok with SoP, happy for you to set your own schedule then have us review it 10:19:40 <juga> ok 10:20:08 <pastly> Did anyone read/skim/technically open my doc on the switch to http? 10:20:26 <juga> because there're things in trac and things in github, would be fine i have a repo just for my own scheduling 10:20:34 <juga> pastly: i started.. 10:21:10 * juga searching for it now... 10:21:13 <pastly> You can use and abuse the sbws wiki 10:21:18 <pastly> juga: https://sbws.readthedocs.io/en/latest/proposals/001-switchtohttp.html 10:22:43 <pastly> I think the first/main thing I'd like feedback on is how to convince ourselves we're measuring 2 relays at a time in a sane way. 10:23:00 <juga> so, i'd separate there what's the discassion about server vs http(s) 10:23:12 <juga> and how atually the exit relay is choose 10:23:57 <juga> also, re server vs http(s) which authentication 10:23:58 <pastly> Perhaps. I just wanted to get in the correct headspace for figuring out the second half of the document while considering every single moving piece. 10:24:09 <teor> pastly: we were always measuring two relays at a time 10:24:32 <teor> it's just now, we are being explicit about it 10:25:23 <pastly> teor: yeah. I don't want to do bucketing like torflow, so I suggest we pick exits in a different way. I propose Idea 1 is the better way (than idea 2). 10:25:41 <pastly> juga: are you asking how sbws scanners with auth to web servers? 10:26:02 <pastly> s/with auth/will auth/ 10:26:53 <juga> pastly: yes, though not asking, afaik, we're still discussing it 10:27:12 <juga> "uses HTTP(S) servers far away from any Tor relay" 10:27:35 <juga> currently, sbws servers were assumed to be close to exit 10:28:06 <pastly> I'm proposing that client auth is optional and performed with client side TLS certificates when required. 10:28:36 <pastly> Right. We were making that assumption so that we could convince ourselves that we were only measuring 1 relay at a time with current sbws 10:28:41 <teor> pastly: I am not sure how I feel about pushing traffic towards fast exits, but I think we might have to do it to measure accurately 10:29:02 <teor> I would suggest we choose a "top X" that is large enough for no single operator to control them all 10:29:18 <teor> so maybe it should be as large as the top 5% 10:29:57 <pastly> teor: An Idea 3 could be to pick exits that are 1.25x to 2x as fast as the first hop relay, so that there's an upper bound and we don't always use the absolute fastest X% 10:30:32 <teor> equal or higher is fine 10:30:50 <juga> bwscanner was doing that, though just a simple ">=" bw 10:31:19 <teor> that's easily gameable 10:31:21 <pastly> #todo add idea 3 for an upper bound on exit speed and/or the simple ">= bw of first hop" 10:31:25 <teor> my proposal is that we test the different ideas on the public network, and convince people they are equivalent/better 10:31:55 <pastly> fun stuff 10:31:59 <juga> would an alg for choosing exit remove the idea of the "trusted helper"? 10:32:40 <pastly> Yes, though my proposal allows for a bwauth to choose to only use specific relays if they really want. 10:32:54 <juga> ic 10:33:16 <pastly> I predict our bwauths will choose to not trust specific relays but may choose to run the webserver themselves 10:33:41 <teor> I think we are getting closer to the torflow design, and so people may choose to do the things that torflow was doing 10:33:51 <pastly> #todo make the exit selection configurable and test the different options 10:34:04 <teor> We should check if torflow ran into problems and see if we can fix them in the design stage 10:34:21 <pastly> yes omg we are so close to being torflow :/ 10:35:01 <juga> let's try to don't make the code also looks confusing ;) 10:35:36 <juga> so, will then the idea of the sbws server replaced by web server? 10:35:52 <juga> or again: choose in conf? 10:36:16 <juga> (sorry, i think i might not have follow previous conversations) 10:36:38 <pastly> juga: I think the sbws server should go away entirely. Instead we should only support HTTP and HTTPS in the variety of configs I list https://sbws.readthedocs.io/en/latest/proposals/001-switchtohttp.html#supporting-many-variations-on-http-s 10:37:08 <juga> pastly: ok 10:37:24 <teor> I wonder if we can reduce the number of configs to make things simpler 10:37:58 <teor> #todo give the directory authority operators config options, and ask them which ones they would run. Remove the ones no-one would run. 10:38:06 <pastly> teor: most are optional. In most cases you only need a couple 10:38:21 <pastly> The CDN example is 3 lines. 10:38:24 <pastly> [destinations.cloudflare] 10:38:25 <pastly> server_host = sbwsrocks.cdn.cloudflare.com 10:38:27 <pastly> protocol = https 10:38:50 <teor> Re: https://sbws.readthedocs.io/en/latest/proposals/001-switchtohttp.html#supporting-many-variations-on-http-s 10:39:01 <teor> Let's support just as many variations as we need 10:40:08 <pastly> Ok. The only thing that jumps out as possibly unneeded is beign able to specify a list of relays 10:40:32 <juga> we should also probably doc all the pros and cons of those options 10:40:39 <teor> And maybe the CDN, although stefani is already using a CDN 10:41:03 <juga> iirc, there're several tickets in trac aiming to use CDN 10:41:08 <teor> And it makes the bastet measurements much more stable 10:41:26 <teor> juga: mikeperry doesn't like the idea, but I haven't got the specifics out of him 10:41:44 <juga> ok, would be nice to know why then 10:41:54 <teor> "unexpected network effects" 10:41:58 <pastly> It's not clear to me how a CDN is even different at sbws configuration time to using any arbitrary web server. 10:42:29 <pastly> So I don't see what's so hard about supporting a CDN. As long as the geo-distribution happens at DNS resolution time. 10:42:36 <teor> one specific concern is that relays that peer with the CDN get really good bandwidths, but gabelmoo has that issue already without a CDN 10:42:59 <teor> pastly: there is nothing hard about a CDN as long as DNS works 10:43:13 <teor> and in this case, they have to support HTTPS 1.1 10:43:44 <pastly> Ok. So as far as I'm concerned there's nothing hard about CDNs in the immediately future. The code is the same. They aren't a special case. It's just up to $someone to decide if they are a good idea. 10:44:48 <juga> there'll be probably some work checking how results differ with different methods 10:44:58 <pastly> teor: is support for HTTPS 1.1 not widespread? 10:45:39 <teor> I think it's pretty common. Most CDNs boast of supporting HTTP/2 10:45:58 <pastly> ok 10:46:15 <teor> there's a lot of scope creep and differing opinions in the CDN decision 10:46:32 <teor> I'd encourage you to make it possible, and test it, then leave it to the operators to sort out 10:46:51 <teor> There is a fastly test URL that we can get a 1 GB file on, if you want 10:46:53 <pastly> Maybe I should just remove the acronym from the proposal entirely since I'm pretty sure it doesn't matter if cdn.foo.com has 1 A record or 30 10:47:16 <juga> are we alo removing the idea the (web) server has to be in same box as the exit (in the CDN case is actually not needed)? 10:47:20 <pastly> #todo get fastly test URL 10:48:12 <pastly> juga: yes, because we are abandoning the idea we could ever manage to measure one relay at a time. 10:48:47 * juga feels i was missing discussions this week 10:48:49 <juga> ok 10:48:50 <teor> I emailed you the URL, but you should talk to tjr about whether to make it public, and getting a 1 GB file on it 10:49:13 <pastly> #todo modify CDN example so people don't get stuck on "CDN" and try to discuss pros/cons of CDNs when that's not the point of the example 10:49:44 <pastly> juga: I'm sorry. I think maybe I spent too much time in my head and not enough discussing this stuff 10:49:51 <teor> Oh, maybe it is public 10:50:09 <teor> And maybe it is tpa (tor project admin) who controls the files on it 10:50:18 <pastly> juga: I guess to me it seemed obvious or required for us to abandon the "measure 1 relay at a time" idea if we had to stop using sbws servers 10:50:22 <juga> teor: i think i actually saw in a ticket when working on bwscanner 10:50:43 <teor> Yes, cdn-fastly.torproject.org is definitely public 10:50:53 <teor> Because it's in the DNS 10:50:55 <pastly> (paslty must go in ~9m) 10:51:31 <juga> pastly, teor if you don't mind, just say "juga", when talking about something related to this in irc, i'll read it later ;) 10:52:04 <teor> +1 10:52:04 <pastly> ok 10:52:07 <juga> pastly: ok, anything else before you leave? 10:52:08 <teor> being in different timezones is a bit of work, but we can make it happen 10:52:14 <teor> and "teor" is fine for me 10:52:19 <teor> either name works 10:52:28 <pastly> teor: is "teor" a better name to use than teor4? 10:52:40 <pastly> I tend to default to teor4 since I see it more often talking 10:53:00 <teor> Either name works 10:53:14 <pastly> juga: I'm satisfied with the discussion on switch-to-https so it can stop now if needed 10:53:16 <pastly> ok 10:54:29 <juga> so then fine for me if we finish now, teor? 10:54:41 <pastly> Ok time to end this meeting. Let's see if those todo things actually worked. Thanks teor and juga! 10:54:42 <teor> I'm goof 10:54:49 <juga> thanks 10:54:49 <teor> I'm good, too 10:54:52 <pastly> #endmeeting