13:29:31 <nickm> #startmeeting 13:29:31 <MeetBot> Meeting started Wed Aug 19 13:29:31 2015 UTC. The chair is nickm. Information about MeetBot at http://wiki.debian.org/MeetBot. 13:29:31 <MeetBot> Useful Commands: #action #agreed #help #info #idea #link #topic. 13:29:35 <nickm> hello meetbot! 13:29:38 <teor> 30-35 hours in transit, and cheaper with a day either side 13:29:44 <nickm> I'll start with a quick status report: 13:30:01 <nickm> I've been hacking on getting testing/refactoring stuff done, and trying to get ed25519 backend/key-mgt stuff done. 13:30:11 <nickm> I'm behind on code review; the world is behind on reviewing my code. 13:30:30 <Yawning> wut I reviewed like, 3 branches of yours ;_; 13:30:33 <nickm> I'm a bit frustrated by our use of low-rent vtbls, which means that our callgraph isn't so reliable. 13:30:47 <nickm> Yawning: yeah, and thanks! But i'm still behind. Got a backlog. 13:30:54 <Yawning> gotcha 13:31:06 <Yawning> wait, if the vtbl thing wasn't good, should I have done the ed25519 stuff differently? 13:31:15 <Yawning> cuz I def made the problem worse >.> 13:31:22 <nickm> Yawning: no worries there; the ed25519 stuff doesn't call back into the blob 13:31:35 <Yawning> ahh 13:31:45 <nickm> But I think some of athena's vtbl stuff is maybe hiding blob complexity 13:31:49 <nickm> that's a topic for 0.2.8 though 13:31:58 <dgoulet> nickm: just did a review of #16679 13:32:13 <nickm> I'm looking at the pile of stuff we said we do in august, and getting a bit intimidated: 11 days left! 13:32:25 <nickm> but, hey, triage 13:32:44 <nickm> also, I'm hoping for end-of-august feature freeze on 0.2.7, which probably means that we just have a more exiciting and fun 0.2.8 13:32:51 <Yawning> hm 13:32:54 <Yawning> kind of fast but ok 13:33:06 <nickm> well, it's a 6-month interval, IIRC 13:33:43 <nickm> (tor 0.2.6 feature freeze was start-of-march) 13:34:19 <Yawning> what's our plan for freeze->stable (and I assume that's when we deprecate 0.2.4.x?) 13:34:20 <nickm> I'm not sure what I'm prioritizing between now and end-of-month, and what will slip. I would have liked to get #15055 done, but that seems implausible. 13:34:30 <nickm> dgoulet: thanks! 13:34:32 <isabela> oi 13:34:37 <nickm> Yawning: hm, let's look at history 13:35:24 <nickm> 0.2.6.6 came out end-of-march. First 0.2.6 freeze was Feb-ish 13:35:28 <nickm> https://lists.torproject.org/pipermail/tor-dev/2015-January/008216.html 13:35:34 <Yawning> a month? 13:35:41 <nickm> yeah; we'll see 13:35:48 <nickm> it all depends how much huge stuff we merge at last minute 13:35:59 <nickm> I think we should probably commit to having first step for 0.2.8 be merging big pending stuff 13:36:02 <nickm> else, drama 13:36:08 <nickm> no plan yet for 0.2.4 deprecation 13:36:10 <Yawning> man I wanted time to parallelize the client link crypto stuff 13:36:11 * isabela reading backlog 13:36:14 <nickm> should have one, it would be nice 13:36:26 <Yawning> potentially supporting 4 versions 13:36:29 <nickm> Yawning: and you still can! 13:36:29 <Yawning> would really suck 13:36:37 <Yawning> have pt stuff that I'd rather see 13:37:20 <Yawning> also our circuit build crypto is substantially faster in 0.2.7.x anyway 13:37:23 <nickm> maybe we should do something like https://lists.torproject.org/pipermail/tor-dev/2015-January/008216.html this time around, with a loose freeze at 1 Sep and a hard freeze on 15 sep? dunno 13:37:23 <dgoulet> nickm: hrm so end of August feature freeze, I don't see "new features" for R (HS also) but #16389 might requires a "revision-counter" to the descriptor to fix the 5 min. random wait 13:37:27 <nickm> Yawning: yeah 13:37:36 <dgoulet> nickm: which would be too late after feature freeze I guess :S 13:37:42 <Yawning> we should probably 13:37:54 <Yawning> think about if we want to freeze pre or post dev meeting 13:38:09 <Yawning> I can make a case for either, even if one means pushing it back 13:38:10 <dgoulet> I would advocate for post-dev meeting 13:38:11 <nickm> IME there is always a great reason to delay the freeze another week or month 13:38:14 <dgoulet> but it's far away 13:38:31 <nickm> but the benefit of an early freeze is that we don't fight about last-minute merges forever 13:38:36 <Yawning> nickm: yeah, which is why, I can make a case for either 13:38:49 <nickm> stabilizing 0.2.6 was pretty easy, and if we freeze soon, I think 0.2.7 will be easy to stabilize soon 13:39:02 <Yawning> I think 0.2.7.x has been fairly stable 13:39:03 <nickm> I think that if we delay 0.2.7 for anything big, stability issues might bite us: 13:39:14 <Yawning> we ship it in tor browser alpha 13:39:16 <nickm> also IME, it's the last big patch you merge that hurts the most. 13:39:33 <Yawning> I guess we should dinish reports and revisit this? 13:39:39 <nickm> yes let's! 13:39:40 <Yawning> *finish 13:39:43 <Yawning> I can go 13:39:45 <nickm> go ! 13:40:00 <Yawning> Reviewd some patches, made curve25519 key gen/ed25519 operations 5x faster on 32 bit x86 13:40:01 <Yawning> done 13:40:03 <Yawning> >.> 13:40:09 <Yawning> though the latter was trivial 13:40:16 <Yawning> oh, and added batch verification support 13:40:57 <Yawning> (so yeah, 0.2.7.x public key crypto is "fast" now) 13:41:16 <Yawning> next on my task list is pt stuff, writing docs about pt stuff 13:41:17 <nickm> yaaay 13:41:26 <dgoulet> On my part, had lots of discussion at camp, particularly with asn and DonnchaC, shared random is on it's way to an implementation, currently in "vacation" but will try to follow a bit the emergencies for feature freeze 13:41:27 <Yawning> fixing a tor browser build issue to do with locales 13:41:47 <nickm> isabela: towards the end of this meeting should we have a look over https://trac.torproject.org/projects/tor/query?status=!closed&keywords=~TorCoreTeam201508 ? 13:42:24 <isabela> yes 13:42:39 <isabela> nickm: and the other one where we are tracking sponsor deliverables 13:42:41 * dgoulet done btw 13:43:31 <nickm> anybody else around? 13:43:48 <teor> I cleared up some testing stuff 13:44:12 <teor> And then my laptop went in the blink. 13:44:53 <teor> Should be back mid-next week, but that means no coding from me for a little while 13:45:03 <teor> But I can still read code 13:45:18 * teor done 13:45:52 <nickm> athena, asn: ping? 13:46:16 <nickm> either could be asleep; timezones are a real thing 13:46:24 <nickm> or so I hear 13:46:27 <dgoulet> 15h46 currently here :) 13:46:40 <isabela> dgoulet: stil in germany? 13:46:51 <teor> I missed the patch meeting yesterday/today due to time zones 13:46:54 <dgoulet> isabela: nope, I'm in France since yesterday :) 13:47:17 <nickm> ok, we can take more status stuff if more folks are around, but for now, let's move on to discussion. 13:47:20 <nickm> issues I'm aware of: 13:47:40 <nickm> 1. upcoming freeze 2. Stuff between now and end-of-month. 3. pending funder deliverables for Oct. 13:47:44 <nickm> Anything else? 13:47:56 <nickm> there's probably a pile of tech issues to talk about too 13:48:18 <dgoulet> nickm: multi-thread crypto thingy maybe? 13:48:37 <nickm> ah, the one where I sent the chat to the ml? sure, let's call that 4. 13:48:40 <dgoulet> yeah 13:49:07 <nickm> anything else/ 13:49:08 <nickm> ? 13:49:11 <teor> I'd like some guidance on fallback directories and how many clients they should see, but that could even be after meeting 13:49:49 <nickm> ok 13:50:03 <Yawning> uh 13:50:06 <Yawning> I have one 13:50:09 <nickm> ok 13:50:17 <armadev> dgoulet: can you put it on your todo list to get nickm to answer https://trac.torproject.org/projects/tor/ticket/15254#comment:5 sometime? 13:50:48 <dgoulet> armadev: flagged for August, hrm ok 13:50:56 <nickm> Yawning: go ahead? 13:50:58 <Yawning> #15482 13:51:06 <Yawning> We should figure out wtf we want to do 13:51:11 <Yawning> before 0.2.7.x and merge something 13:51:24 <teor> Oh yeah, tor vs tor browser? 13:51:27 <nickm> ok, let's call that 5. 13:51:28 <Yawning> because that's the biggest point of divergence behavior wise between Tor Browser and everything else 13:51:29 <Yawning> yah 13:52:29 <nickm> let's call teor's question about fallback dirs 6. 13:52:38 <nickm> and let's call armadev's question about #15254 7 13:52:53 <nickm> and so some number after the meeting. :) 13:53:00 <nickm> so, 1: the freeze! 13:53:46 * isabela has a question 13:53:46 <teor> I like the current size and stability of 027 13:54:07 <nickm> My first thought and default plan is to declare a Sep-1 freeze after which only bugfixes and preapproved "small features" are merged. Then after 15 Sep, only take regression fixes, security fixes, doc fixes, typo fixes, and stuff like that. 13:54:12 <nickm> isabela: shoot 13:54:13 <isabela> did anyone reviewed what is not on august and is on 0.2.7.final tag? 13:54:21 <nickm> isabela: I don't think so 13:54:26 <nickm> Probably a whole lot of stuff 13:54:29 <isabela> :) 13:54:53 <nickm> I can start throwing stuff out of 0.2.7 today if we believe in this general principle... 13:55:33 <nickm> or send out an email to give people a few days to tag stuff TorCore201508 or PostFreeze027 if they really want to save it 13:55:47 <nickm> (but remember, short release cycles mean clean releases!) 13:55:53 <isabela> yes 13:56:09 <nickm> #action nickm sends out email describing freeze plans 13:56:19 <nickm> any objections to my plan above? :) 13:56:20 <isabela> nickm: use PostFreeze027 13:56:22 <teor> I like the idea of freezing early, then allowing the dev meeting hackery to contribute to 028 13:56:31 <nickm> sounds good IMO 13:56:36 <dgoulet> I'm fine with Sept 1 on my part, most of the stuff I need to get in 027 are fixes except the changes to the client cache (if needed) 13:57:32 <nickm> I used to hate early freezes then I learned to tell myself "Delaying the release for the feature you want won't make it come out any earlier" 13:57:48 <teor> So will we be releasing 027 on/around the dev meeting itself? 13:57:49 <dgoulet> (also... I start to feel like I have to take a few days out of my time off to fix those because seems a bad timing ... :S) 13:58:30 <nickm> teor: I hope so. Generally, we'll be doing it when we're confident that there aren't any bad regressions, bad security bugs, showstoppers, etc 13:59:12 <teor> Of course, just making sure timing works out 13:59:28 <nickm> I hope that takes around a month, but hey, you never know 13:59:40 <teor> Don't want to plan too much in the same week :-) 13:59:49 <nickm> it's done when it's done 13:59:52 <isabela> nickm: with the tag thing / you mean tag tickets you want in the release? 13:59:54 <teor> Indeed 14:00:30 <nickm> isabela: Tag tickets that you think are so important that they should go in during the first 2 weeks of september. 14:00:43 <nickm> even though they aren't regressions, security bugs, etc 14:01:01 <teor> Rather than, say, in 028 in October/November 14:01:18 <isabela> nickm: ok! so yes, PostFreeze027 :) and also add to september tag which we should do next week TorCore201509 14:01:25 <isabela> nickm: since they are september work 14:01:28 <nickm> ok 14:01:40 <nickm> shall we move on to discussion of what to do with TorCore201508 stuff? 14:02:04 <Yawning> I can get my pt stuff done 14:02:16 <nickm> https://trac.torproject.org/projects/tor/query?status=!closed&keywords=~TorCoreTeam201508 14:02:39 <nickm> isabela: should we move things that won't happen out of that keyword now, or leave it there till next week? 14:02:50 <isabela> leave till next week 14:02:51 <nickm> and if we identify more work that we should do before end-of-month, do we put that tag on it? 14:02:54 <nickm> ok 14:02:55 <teor> I might get fallback code done, but not doco, emails etc; not sure about the stats stuff 14:03:24 <nickm> #action we aren't going to do a big revision of TorCore201508 this week. It'll wait till next week. 14:03:41 <nickm> on to topic 3: pending funder deliverables between now and oct? 14:03:52 <nickm> isabela: do you have a link for that? 14:04:09 <isabela> yes 14:04:53 <isabela> https://docs.google.com/spreadsheets/d/1dTva10mu-FcX8KrxRjgkFvHSyNy7aBpD9xehNuUeZ-4/edit#gid=0 14:05:17 <isabela> column J could have some new names :) 14:05:35 <nickm> ideall more names not equal to nickm 14:05:38 <nickm> *idally 14:06:30 <nickm> Are any of the tasks listed there in anybody's interest area? 14:06:50 <nickm> Please don't be afraid to take tasks away from me, or to join me on tasks; I sure don't mind! 14:07:02 <Yawning> prolly the DoS stuff if the pt stuff doesn't totally wear me out 14:07:17 <teor> Send in the clones, nickm1, nickm2, … 14:07:58 <nickm> back in 2 minutes; making tea; please add yourselves to the "can do" column of anything you would like to do? it's okay if "can do" means "yes but only in collaboration" 14:10:34 <isabela> Yawning: column 12 and 13 or just one of them? 14:11:58 <nickm> re 14:12:22 <Yawning> isabela: one of 12/13, can collaborate on both, knopw the problem space 14:12:39 <nickm> maybe add "yawning?" to both ? 14:13:33 <isabela> done 14:13:52 <nickm> anybody else want to volunteer, or should I try to socially-engineer folks over the next week or so? 14:14:12 <teor_> I can help with the chutney-related tasks, just need to know what's missing 14:14:35 <nickm> awesome. Can we add a "teor?" to those and we'll make a plan to collaborate on 'em? 14:14:35 <isabela> I would say to look at sponsor S 14:14:41 <teor_> But I can't edit the spreadsheet with my dumb browser 14:14:44 <isabela> some of them has up to 3 weeks completion and the year ends in october 14:15:02 <isabela> that means it will be close 14:15:18 <isabela> (a close call) i mean 14:15:35 <teor_> nickm: helping asn with guard fraction and chutney would be a win all round 14:15:47 <nickm> isabela: well, for S, I don't see any 3-week items? 14:15:54 <isabela> oh 14:15:55 <isabela> sorry 14:15:58 <nickm> lines 17 and 6 are the scary ones 14:15:58 <isabela> is days! 14:15:59 <isabela> ufa 14:16:15 <nickm> it might be longer than days if we can find the time 14:16:19 * isabela needs more coffee 14:16:52 <isabela> nickm: true, 6 and 17 14:17:16 <nickm> if asn is on track with 5, I believe andrea can do a reasonable job with 6. but maybe should have help. 14:17:21 <isabela> we should do another check next week 14:17:30 <isabela> asn: ping 14:17:34 <dgoulet> nickm, isabela: ok, so as you know I'll be off for the next ~two weeks, I realized that it's nonsense to do that for the release, so I'll allocate a few days to help with tickets that need to be done in August, is that OK with you? :S 14:17:37 <nickm> for 17 I have a lot of it under control, but it's going to eat a bunch of my life 14:17:47 <nickm> dgoulet: sounds great! 14:17:59 <nickm> dgoulet: and don't worry here; it's important to take a break. 14:18:06 <isabela> dgoulet: of course! 14:18:13 <isabela> dgoulet: enjoy the wine ! 14:18:25 * isabela joking :) 14:18:42 <nickm> (Other news: I am going to be taking a Very Long Weekend for my birthday around the end of the month. I expect to be largely AFK some time next thursday through monday the 31st. 14:18:45 <dgoulet> thanks a lot 14:18:46 <nickm> ) 14:18:58 <asn> isabela: hello 14:19:01 <isabela> cool 14:19:05 <nickm> isabela: so we should make sure I do all my end-of-month stuff for you early next week if possible 14:19:06 <asn> kind of not here but hit me! 14:19:16 <isabela> asn: maybe we can do a check in next week on the guard stuff and see if you need help etc 14:19:34 <isabela> asn: so we are on track for andrea to pick it up 14:19:37 <asn> my plan is to have the first draft of the algorithm tomorrow 14:19:41 <isabela> wow 14:19:51 <asn> then give it 3 days for comments. and work more on it after that. 14:20:19 <isabela> cool we do a check in next wed then during the meeting 14:20:22 <asn> ok 14:20:23 <asn> sounds good 14:20:51 <teor_> asn: also, your guard fraction testing looks like a good task for nickm and I for SponsorS 14:21:02 <teor_> Speculatively 14:21:05 <nickm> +1 14:21:20 <nickm> this all sounds like progress. Shall we move on to item #4 ? 14:21:25 <isabela> sim 14:22:07 <nickm> so, I apologize for the bad subject on https://lists.torproject.org/pipermail/tor-talk/2015-August/038796.html 14:22:31 <teor_> ++item 14:22:32 <nickm> it's a chat we had on #tor-dev a couple of days back about how much folks would like parallel crypto, and how some folks on the ML asked how much it'd cost to do it 14:23:01 <nickm> and I realized that outside of a formal proposal to a funding org, we have no real procedure to do such a thing. 14:23:08 <teor_> Fair question 14:23:09 <nickm> To me, it seems like a pretty big amount of work 14:23:24 <nickm> any thoughts how we should estimate this? 14:23:41 <nickm> maybe we don't neeed to come up with an estimate right now, but we should have a plan IMO 14:24:24 <teor_> Is it just parallel crypto, or is it also parallel 7000-relay-list-walking and other intensive tasks? 14:24:54 <dgoulet> ouf estimation of that... we should maybe start by enumerating what "crypto part" can/should be para. 14:24:55 <nickm> Ideally it's 'parallel everything that matters'. Right now it's crypto that matters 14:25:51 <nickm> so maybe 1. enumerate slow stuff (by profiling main threads of relays, exits, hidden services?), 2. Figure out what would be easy to parallelize and what'd be hard. 3. ... 14:25:54 <nickm> ? 14:26:20 <dgoulet> that's a good start imo, we even already have some of elements of 1) 14:27:10 <teor_> (Some configs would also benefit from reduced system calls/more caching, we seem to have recurring complaints about gettimeofday on systems where it's slow) 14:27:24 <Yawning> we need to re-profile 14:27:32 <nickm> always 14:27:33 <Yawning> HSes 14:27:35 <dgoulet> yeah openssl read/write also are horrible 14:27:36 <teor_> (but that's orthogonal, might come up in profiling) 14:27:40 <Yawning> with 0.2.7.x 14:27:43 <nickm> anybody want to do the reprofile? 14:28:25 <teor_> Do we want just a Linux profile? Should we include a profile where system calls suck? 14:28:26 <dgoulet> I would like to do that but that won,t be before sept. :S ... (maybe it's fine?) 14:29:16 <dgoulet> I,m quite familiar with profiling and tracing tools but if we need that soon, someone better take it 14:29:36 <teor_> chutney is developed enough to run volumes of data through a test network 14:29:47 <teor_> *now* 14:31:03 <nickm> are there platforms where syscalls suck and profiling still works? 14:31:07 <nickm> I have easy access to osx 14:31:35 <teor_> Yeah, OS X, I can profile when laptop is back 14:31:41 <Yawning> teor_: I want to see a high load HS's profile 14:31:50 <teor_> It's all set up, should be quick work 14:32:14 <nickm> teor_: would you like to write a "running chutney for dummies" guide? 14:32:27 <teor_> Yawning, I tend to crash test HSs when I load them 14:32:33 <Yawning> the non-openssl stuff is probably still Curve25519 14:32:34 <isabela> that would be cool (chutney for dummies) 14:32:45 <Yawning> teor_: yeahhh, I've been trying to fix that ;_; 14:32:46 <teor_> nickm: I think the README is a 14:32:57 <teor_> almost there 14:33:06 <nickm> cool. if you want to write a patch, it would rock 14:33:26 <nickm> we need to break the openssl stuff down by purpose, if possible 14:33:42 <nickm> like, relay crypto vs TLS online crypto vs TLS handshake vs misc other RSA/DH vs ... 14:34:07 <teor_> I don't know what needs to improve in the current README, but I'll try to take a step back 14:34:14 <nickm> the low-hanging fruit of what to parallelize will be relay crypto and inner OR handshake. 14:34:22 <nickm> the harder bit will be parallelizing TLS stuff 14:34:32 <teor_> Nickm: is the calling tor function enough, or do we need 14:34:35 <teor_> More 14:34:41 <nickm> hm? 14:34:58 <nickm> ah 14:35:04 <Yawning> the only parts of the relay crypto left ot paralellize is client side handshake right? 14:35:08 <teor_> can we identify OpenSSL purpose by the calling tor function 14:35:11 <dgoulet> ok I have to leave unfortunately, let me know if I can help with profiling after August (email ideally), cheers all! see you on the inter-tubes! 14:35:18 <Yawning> dgoulet: cheers 14:35:23 <nickm> Yawning: that's the only part of the circuit crypto left to parallelize 14:35:26 <nickm> peace dgoulet ! 14:35:40 <nickm> Yawning: but the actual per-cell crypto will need to be parallelized too maybe 14:35:47 <Yawning> ah gotcha 14:36:49 <nickm> so, do we have a plan plan, or is more info needed? 14:37:04 <nickm> seems to me that "parallelize whatever is easiest to parallelize" is a bad idea, and we should do real profiling-based stuff 14:37:25 <teor_> Iteratively develop repeatable profiles? 14:37:43 <teor_> Whether a short HOWTO or scripted 14:37:54 <nickm> sounds good to me 14:38:00 <a00001> Yawning: ping @ https://github.com/Yawning/obfs4/issues/12 14:38:11 <nickm> teor_: also will you be around later in the day? I'd like to chat about more chutney things 14:38:18 <Yawning> ... 14:38:18 <nickm> but I don't want to disrespect your timezone 14:38:27 <Yawning> I don't use the github issue tracker 14:38:30 <Yawning> but ok 14:38:50 <teor_> My timezone is 0040, so your later is my morning 14:38:56 <Yawning> a00001: Oh that. Uh, not sure if I want to merge that or not yet. 14:39:36 <nickm> teor_: yow. 14:39:43 <teor_> And my IRC is webirc, so intermittent 14:39:44 <nickm> teor_: maybe later in the evening then? 14:39:53 <nickm> or should we just try to run into each other? 14:40:04 <Yawning> I think in parallel with the profiling effort, we can/should finish the circuit crypto stuff 14:40:04 <teor_> Whose evening? 14:40:20 <Yawning> Seems low-hanging friut ish 14:40:27 <teor_> nickm: happy to ping you when I am on 14:40:38 <nickm> teor_: mine; I've got a free hour or so starting around 20:00 my time, == about 10:00 your morning? 14:40:51 <teor_> I'll make a note 14:40:58 <nickm> cool, I'll try to remember to be online too 14:42:04 <nickm> so, topics 5-7 are: 5. #15482; 6. teor and fallback dirs. 7. armadev's question about #15254 14:42:34 <nickm> I propose that we end the meeting, and I chat with teor about 6 later today; try to answer 7 myself on the ticket, and we talk about 5 immediately after the meeting? 14:42:45 <Yawning> ok 14:42:57 <nickm> any more topics? Sorry for long meeting today 14:43:02 <nickm> 60 sec timeout 14:45:47 <nickm> #endmeeting