23:00:08 <ahf> #startmeeting S31 September update 2019-09-24
23:00:08 <MeetBot> Meeting started Tue Sep 24 23:00:08 2019 UTC.  The chair is ahf. Information about MeetBot at http://wiki.debian.org/MeetBot.
23:00:08 <MeetBot> Useful Commands: #action #agreed #help #info #idea #link #topic.
23:00:14 <ahf> hello hello
23:00:50 <ahf> we have an agenda at https://pad.riseup.net/p/IRjuGtQkWNKZLc7qskDb
23:00:57 <nickm> hihi
23:01:04 <ahf> hi hi
23:01:33 <ahf> right now there are only 3 items on the agenda, which are all follow up items from last weeks meeting. if anybody have anything else we need to add, lets do that!
23:02:15 <nickm> gaba, teor4, catalyst: hello!
23:02:17 <ahf> catalyst and teor, you two here?
23:02:26 <catalyst> hi
23:02:35 <ahf> o/
23:02:38 <nickm> Hi, Taylor!
23:03:08 <ahf> last week we had split some items out to get some owners on the different components
23:03:11 <nickm> teor4 said they had to go inside a building and find a place to sit, so I'd expect them in a moment or two
23:03:16 <ahf> yep
23:03:23 <ahf> we can wait a bit for them, it is no problem
23:03:40 <gaba> hi!
23:04:13 <ahf> o/
23:04:28 * nickm runs to next room to start water for a cup of tea
23:04:33 <nickm> gotta be focused
23:04:36 <gaba> :)
23:04:46 <ahf> the infinite tea time of the tor project
23:05:08 <gaba> so first we review agenda then?
23:05:24 <ahf> yep, we are giving teor a few. they said they were gonna go inside a moment ago in #tor-dev
23:05:58 <gaba> ok
23:06:15 <teor4> ok, I am back
23:06:20 <nickm> welcome!
23:06:22 <ahf> o/
23:06:40 <ahf> our agenda is at https://pad.riseup.net/p/IRjuGtQkWNKZLc7qskDb
23:07:03 <ahf> are everyone okay with that or is there something we need to change/add/remove?
23:07:56 <gaba> If not then we can talk about each of those tasks and give an update and/or any blocker.
23:07:56 <nickm> not right now, but I'll add something if I think of it
23:08:07 <ahf> cool. that is more than fine!
23:08:28 <teor4> yes, I think that's fine
23:08:30 <ahf> should we start with a status on the documentation efforts?
23:08:33 <gaba> catalyst, teor4: ok with that?
23:08:36 <gaba> ok
23:08:41 <catalyst> ok
23:08:44 <gaba> "Discuss and start documentation work"
23:09:22 <catalyst> there are 2 sponsor31-must tickets that are doc work, as far as i can tell
23:09:33 <catalyst> #29214, #29215
23:10:22 <catalyst> i would like to work on #29215; does anyone else want to work on that?
23:10:39 <nickm> I would like to collaborate if I won't get in the way
23:11:00 <teor4> I would be interested in reviewing it, I also think most other people in the team will have opinions
23:11:12 <ahf> teor4: +1
23:11:25 <nickm> Maybe we could divide it up into smaller pieces so we can do parts in parallel?
23:11:26 <teor4> I also wonder how we come up with a collaborative design, so that people don't feel left out
23:11:39 <ahf> what is the plan with storing this documentation? is the plan for it to go into tor.git somehow? or to tor-guts.git? or?
23:11:51 <teor4> I think our team is big enough that it is easy for people to feel left out
23:12:22 <catalyst> ahf: i kind of have a goal to move stuff out of tor-guts.git and into something more obviously collectively owned
23:12:43 <ahf> catalyst: i would love to see that happened. i remember when i had worked for tor for a while and learned about this and how useful it was
23:12:52 <gaba> Is there anything that needs to happen about documentation that is not in any ticket in trac?
23:13:37 <catalyst> i'm not sure moving stuff out of tor-guts.git has a ticket yet, or if it should be a sponsor31 item
23:14:14 <nickm> gaba: IIRC there are just two items that are documentation deliverables, basically: document tor's current architecture, and document its intended architecture.
23:14:25 <gaba> yes
23:14:27 <ahf> gaba: what do you think there? we have this gem of documentation that nickm wrote which you need to know about existing. would it make sense to move that over as part of this sponsor?
23:14:46 <nickm> If we're hoping to improve it, we should have the team take ownership of it IMO.
23:14:49 <nickm> I have no objection to that
23:15:15 <nickm> I think putting it in a separate repository might make sense, but I don't feel too strongly
23:15:20 <nickm> IMO we should rename it too.
23:15:23 <gaba> ahf: if it is related to the 2 deliverables that nickm just mentioned then yes.
23:15:37 <catalyst> i think it makes sense to put it in the tor.git repo, possibly under doc/
23:15:44 <ahf> i think somehow getting it into tor.git under doc/ would make a lot of sense
23:15:57 <gaba> ok
23:16:04 <gaba> and is something that will not take a lot of time, right?
23:16:19 <nickm> It shouldn't.
23:16:31 <nickm> It's copying files, writing a commit, and then iterating on improvements.
23:16:34 <nickm> IIUC
23:16:41 <ahf> i don't know how much has changed and needs updating compared to the world of tor.git after the the big refactoring, but i dont think the overall architecture changed that much there
23:17:08 <gaba> +1 to get a must-ticket on moving that doc ut of tor-guts
23:17:13 <ahf> so we have an action item here with getting an s31 ticket with getting tor-guts and tor.git merged somehow?
23:17:23 <ahf> gaba: :-D yes, agreed
23:17:39 <gaba> nickm: maybe you can do that one?
23:18:14 <nickm> Sure, that will be fast.
23:18:18 <nickm> Suggested locations?
23:18:23 <ahf> is it a dependency of #29215?
23:18:30 <nickm> doc/architecture ? doc/arch ? doc/ARCH ?
23:18:39 * ahf likes long names, so #1
23:18:41 <nickm> ahf: IMO yes
23:18:45 <nickm> oh, no.
23:18:50 <nickm> it's not a dependency for #29215
23:18:59 <nickm> It's a dependency for #29214
23:19:17 <gaba> about documentation we just need somebody to work on ##29214
23:19:20 <gaba> #29214
23:19:25 <teor4> can we distinguish between processor architecture and software architecture somehow
23:19:30 <ahf> right, it was actually 29215 i was thinking of, more if #29215 was a blocker of #29214
23:19:44 <nickm> IMO neither blocks the other.
23:19:47 <ahf> cool!
23:19:58 <catalyst> teor4: tor-arch?
23:20:00 <nickm> teor4: I'm happy with other names, but picking a place to put it does block.
23:20:04 <nickm> doc/tor-arch?
23:20:09 <ahf> WFM
23:20:26 <teor4> doc/design doc/modules
23:20:50 <nickm> doc/hacking/design
23:20:55 <teor4> I don't have a strong opinion, but arch is out because that's a common binary path
23:21:09 <ahf> true
23:21:10 <teor4> doc/hacking/design works for me
23:21:23 <ahf> wfm too
23:21:26 <gaba> ok
23:21:27 <catalyst> yeah doc/hacking/design also works for me
23:21:39 <ahf> cool!
23:21:45 <gaba> so the action is "nickm creates a ticket to be added to the roadmap and it gets assigned to him"
23:22:05 <ahf> i can do the ticket after this meeting
23:22:08 <ahf> and assign it to nickm
23:22:10 <nickm> #31849
23:22:14 <ahf> ah, even better
23:22:48 <nickm> (Is this something we can do on an 042 timeframe, since it does not come with a stability risk?)
23:22:49 <gaba> ok
23:22:52 <gaba> ohh
23:23:11 <ahf> i think we can? we might not want to, but we can?
23:23:49 <gaba> ok. the last thing for documentation is #29214 . Or maybe I did not understand who is doing that one
23:23:54 <catalyst> do we have any CI that could fail from these doc changes?
23:24:09 <nickm> I don't believe so, but I can check.
23:25:11 <nickm> so for documentation, I'll be more comfortable once we know first steps
23:25:24 <gaba> ok
23:25:25 <nickm> on #29215 and #29214
23:26:00 <catalyst> nickm: i think you're the logical person to lead #29214 efforts, if you're willing to do so
23:26:12 <teor4> it would be nice to integrate the torguts makefile somehow
23:26:39 <catalyst> teor4: also to have a CI job render stuff to HTML somewhere easily findable, i think
23:27:17 <ahf> it is more work, but it could be done as doxygen documents that gets integrated into the documentation we have today via doxygen
23:27:22 <nickm> I can do that
23:27:51 * gaba needs to be afk for 10 min. Remember points 2 and 3 are next :)
23:28:00 <nickm> catalyst: agreed wrt integration
23:28:00 <catalyst> do we have CI that renders doxygen?
23:28:19 <ahf> we dont have CI that does it i think, but nickm runs some cron job for it, no?
23:28:25 <nickm> catalyst: I have a cron job on my desktop that I would LOVE to replace with something better, but I do not know how :/
23:28:26 <teor4> I need to learn where the doxygen documents end up rendered online. Is that documented somewhere?
23:28:36 <nickm> https://people.torproject.org/~nickm/tor-auto/ is the place
23:28:51 <nickm> I do not think it is well documented
23:28:56 <catalyst> nickm: ah. i kind of have it in my backlog to work on that, but i'm not sure there's a ticket yet
23:29:11 <teor4> jenkins is usualy how we build our website, maybe we can use it
23:29:12 <nickm> #31850 for makefile integration
23:30:01 <ahf> cool
23:30:04 <teor4> I need to take a short break now, I will be back in a minute or two
23:30:08 <ahf> do we have more for the documentation agenda item?
23:30:10 <ahf> ok
23:30:26 <catalyst> scheduling?
23:30:33 <nickm> yeah
23:31:22 <ahf> scheduling?
23:31:40 <teor4> ok, I'm back
23:32:05 <catalyst> i would like to finish up the other in-progress s31 stuff i have. but it's s31-can, not -must
23:32:55 <nickm> catalyst: what set of steps make sense to you?
23:34:01 <nickm> I'd usually start something like this with a common understanding of scope, and maybe an outline, and then start picking what parts to write first
23:34:05 <nickm> does that make sense?
23:34:22 <nickm> (I agree that we should do this in collaboration with the rest of the team)
23:35:01 <teor4> would it help to document the existing architecture first?
23:36:00 <catalyst> teor4: i think they're somewhat independent
23:37:03 <ahf> dont we get a part of the existing architecture from merging over the tor-guts repo?
23:37:08 <teor4> Ok. Would it help for us to do the collaborative process for existing architecture, and use the things that we learn to do the target architecture
23:37:40 <teor4> or do we want to run the processes in parallel and compare
23:38:01 <catalyst> teor4: possibly, yes. it's a helpful to describe where we came and how we plan to get where we're going to
23:39:25 <nickm> suppose that we have nothing else to do, and we are going to start workign on this tomorrow. Does anybody have a handle on what the first steps would be?
23:39:39 <nickm> (this is a hypothetical)
23:40:13 <ahf> yeah, this does seem a bit isolated to the rest of the tasks we have right now in the team (as far as i can tell?) so that might be a good model to follow
23:40:26 <teor4> 1. update hacking/design to match the current state?
23:40:31 <catalyst> so right now i see we're 40 minutes in, and we're still on the first agenda item
23:40:34 <teor4> 2. ask the ream ro review
23:41:01 <teor4> separately, start a draft for the target low-level module architecture
23:41:05 <catalyst> teor4: probably good enough for a starting point
23:41:19 <teor4> let's go with that, and move to the next item?
23:41:20 <ahf> i think getting tor-guts over as (1) and then massage that into a point where it reflects the current architecture would be the first step
23:41:25 <ahf> and then let it evolve from there?
23:41:56 <catalyst> ahf: ah, that's (0) in teor4's numbering :)
23:42:01 <ahf> ah, then i agree with it
23:42:02 <nickm> ok.  one last thing -- I'm going to suggest that ask the team for permission to suspend the three-person rule for these documents while they are in flux, so that one reviewer + one author is enough
23:42:19 <nickm> unless one of you says "I think that's a bad idea"
23:42:30 <ahf> nickm: yes, i agree with that. i don't think we need as strict rules for these changes, especially while they are in development
23:42:41 <ahf> i think that would be blocking too much with the ongoing 042 efforts happening in parellel
23:43:30 <nickm> (shall we move on to step 2?)
23:43:35 <nickm> (item 2)
23:43:42 <ahf> any objections to that? otherwise i think we shou otheld rwise i think we should move to step (2)
23:43:49 <ahf> oh wow, lost some connectivity there
23:44:19 <ahf> step 2 is 2. Modularization to do in 0.4.3 - teor coordinating
23:45:13 <ahf> teor4: you want to start here?
23:46:10 <teor4> ahf: we already have a list at https://trac.torproject.org/projects/tor/wiki/org/teams/NetworkTeam/MergePolicy#WhatPatchesNeedLessReview
23:46:21 * gaba is back
23:46:24 <teor4> we should add "documentation that is in draft" to that list
23:46:50 <ahf> teor4: agreed, i can ask the team if it is OK that we add documentation to that list
23:46:55 <teor4> nickm and I wrote some suggestions in an email thread about modularisation
23:48:05 <nickm> teor4: do you think it would make sense to copy those suggestions onto the pad for future reference?
23:48:06 <teor4> just skimming the thread
23:48:20 <teor4> I think summarising them would be helpful
23:48:28 <nickm> ok.
23:48:43 <nickm> shall I do that while you talk through them a bit?
23:49:36 <teor4> I like the idea of turning dircache or relay into optional modules, and it has a direct benefit on mobile (and maybe desktop client)
23:50:08 <ahf> that was the dream david and i had with s8, but never got around to :-(
23:50:13 <ahf> we only got to dirauth
23:50:28 <teor4> we also talked about removing dependencies between modules or top-level directories
23:50:54 <teor4> we also talked about fixing the worst practracker violations
23:51:20 <teor4> or focusing on improving test coverage for our worst tested modules
23:51:35 <teor4> or trying to predict which refactors we want for future sponsored work
23:52:15 <ahf> hm, i think the last part is too open?
23:52:32 <teor4> yes, and we could also use some of that sponsored time to do those refactors
23:53:02 <ahf> yeah, i think massaging code into being able to implement the features we get sponsored money to do is part of it usually
23:53:24 <gaba> We only have until November so let's try to put priorities on what from that is better to do first
23:54:13 <teor4> I have a proposed way forward: we make our goal an optional module for dircache or relay, and then we use that goal to prioritise dependencies, practracker, and unit tests
23:54:44 <teor4> then we have a well-defined target, and strategies to achieve it (and to focus our work)
23:55:07 <gaba> ok
23:55:20 <nickm> it's ambitious but it could work
23:55:32 <gaba> teor4: how we move forward with it? do we put this in the notes or somewhere and you coordinate that?
23:56:39 <nickm> we should probably make a plan where we deliver some good work if we run out of time.
23:57:02 <nickm> I've boldfaced the proposal on the list of ideas, and italicized two other things
23:57:02 <teor4> Let's start by creating a dircache and relay optional module in configure, then gradually make more code optional?
23:57:13 <teor4> that's a nice way of incrementally working on it
23:57:44 <nickm> teor4: yes.  Let's also maybe read through the code and figure out where the hard parts are, and what we would like to do about them?
23:58:11 <nickm> teor4: would you be okay with opening some initial tickets for this?
23:58:24 <teor4> sure!
23:58:35 <nickm> the two other things I italicized are smaller, incremental improvements.
23:58:50 <nickm> I have a proposal wrt them: I suggest that we call them S31-can and do them, time permitting, when they are small
23:59:13 <nickm> (They are also things that we should be doing in the future when S31 ends, but it would be good to get some momentum IMO)
23:59:24 <nickm> they are: "fix worst violations of practracker ilmits"
23:59:26 <nickm> *limits
23:59:34 <nickm> and "remove dependency inversions"
23:59:42 <teor4> do you think we should actually do a split between dirauth, dircache, relay, client, and common? I'll try to do a draft design and get someone to check it
00:00:03 <teor4> we don't actually have to implement it all
00:00:27 <nickm> teor4: I'm not sure what you mean exactly? src/feature has deparate dircache, relay, and client parts
00:00:30 <nickm> *separate
00:00:35 * nickm is at can't type o-clock
00:00:42 <teor4> I will do a design in a high-level ticket, get it checked, and then open tickets for the sub-tasks
00:00:55 <nickm> sounds good. Please call me reviewer on that
00:01:13 <gaba> Can we move to task 3 ?
00:01:15 <ahf> nice teor4
00:01:20 <nickm> teor4: (also let's plan some time to talk about it next week?)
00:02:22 <nickm> I'm okay with moving to task 3
00:02:32 <gaba> ok
00:02:39 <gaba> Task 3 - Discussion on new C style.
00:02:49 <gaba> nickm: you commmited to coordinate this one
00:02:56 <nickm> yup
00:03:14 <nickm> teor4 and I have been exchangign emails, and I've been drafting a poll for the team to figure out what we can agree on
00:03:21 <ahf> i recall we had a "humming"(sp?) session about this in stockholm?
00:03:42 <nickm> I'd like to show the poll to catalyst and teor4 for comment, then show it to the team for comment, then run the poll
00:04:22 <gaba> ok
00:04:23 <ahf> i think that sounds smart, catching some early feedback before the bigger group looks at it
00:05:19 <gaba> Is this that will happen in the next two weeks? (the poll)
00:05:20 <nickm> catalyst: first I'd like your feedback on that thread, if you have some.  I know this issue matters to you, and I want to make sure I'm not doing it in a way that ignores you
00:05:53 <catalyst> nickm: ok, i'll try to get you feedback on that later this week
00:06:52 <nickm> gaba: I can get a poll out to teor4 and catalyst within a day or two of getting feedback on the thread.  Then I can complete revisions on it within a day or two of getting feedback on the poll, and send that version to the team.
00:07:03 <nickm> I can start the survey running within a day or two of getting the team's feedback
00:07:23 <nickm> catalyst: thank you!
00:07:34 <gaba> sounds good
00:07:54 <gaba> Anything else for this meeting?
00:07:55 <nickm> the plan is that the poll is a poll, not a vote: We're looking for areas where we all agree
00:09:02 <ahf> yep
00:09:41 <teor4> yes
00:09:59 <ahf> cool
00:10:03 <ahf> anything we need to add here?
00:10:33 <gaba> Next meeting should be Tuesday October 8th
00:11:29 <ahf> agreed
00:11:42 <ahf> cool, i am gonna stop the meeting from the bot
00:11:49 <ahf> #endmeeting