20 KiB
layout: post title: Logs for the Kovri Dev Meeting Held on 2016-07-03 summary: Brief review of what has been completed since last meeting, SSU refactoring, closed and open issues tags: [dev diaries, i2p, crypto]** author: dEBRUYNE / fluffypony
July 3th, 2016
Logs
<fluffypony> ok I guess we move on to Kovri - anonimal, the floor is yours \• fluffypony: ding dings <meeting-bot> [anonimal] Meeting Agenda: Sunday, July 3rd, 17:00 UTC <meeting-bot> [anonimal] 1. Greetings <meeting-bot> [anonimal] 2. Brief review of what's been completed since the previous meeting <meeting-bot> [anonimal] 3. Discuss SSU: status of #140 and https://github.com/EinMByte/kovri/pull/1 (if applicable), ideas, problems, and solutions (note: ask if @EinMByte will allow issues tracking within his repo) <meeting-bot> [anonimal] 4. Discuss commit message labeling, e.g., how to organize first line of commits. Touch-up on C4. <meeting-bot> [anonimal] 5. Review open tickets (assigned and/or unassigned): status, code ideas (if applicable), etc. <meeting-bot> [anonimal] 6. Discuss any pertinent TODO's <meeting-bot> [anonimal] 7. Any additional meeting items <meeting-bot> [anonimal] 8. Confirm next meeting date/time <meeting-bot> [anonimal] -- 1. Greetings <meeting-bot> [anonimal] Hi <moneromooo> hi <fluffypony> hi <meeting-bot> [anonimal] I know Ein is irc2p side waiting for me to move on :) <meeting-bot> [anonimal] 2. Brief review of what's been completed since the previous meeting <meeting-bot> [fluffypony] I'm on this side too <meeting-bot> * anonimal wishes this was automated. /pulse only does so much <meeting-bot> [anonimal] 28 commits (not including merges), 2 new issues open, 0 issues closed <meeting-bot> [anonimal] All new commits in https://github.com/einmbyte/kovri/tree/ssu <meeting-bot> [anonimal] I ended up diving into SSU with EinMByte this week. Much fun. <meeting-bot> [anonimal] Teamwork-teamwork: within the past hour, we had figured out that the HMAC digest impl was segfaulting because GetHeader->GetMAC() was not initialized, so the segfault is fixed for now. <meeting-bot> [anonimal] But that's just a small portion of what's been completed since previous meeting, and more issues abound. More to discuss in 3. <meeting-bot> [anonimal] Anyone else re: completed work since previous meeting? <meeting-bot> [fluffypony] I've been focused on the OTF funding stuff, so I haven't had a chance to finish the website work <meeting-bot> [fluffypony] pushing that out till the next meeting, unless we have to prepare more stuff for the OTF <meeting-bot> [anonimal] Ok. Any new issues re: OTF? <meeting-bot> [anonimal] Seems like they've had a few lately. <meeting-bot> [anonimal] i.e., did we get confirmation that they received our request? <meeting-bot> [fluffypony] no I think the next step is we'll receive a pass / fail on the concept note <meeting-bot> [fluffypony] yes we did <meeting-bot> [_trump2016] OTF will make kovri great again! <meeting-bot> [anonimal] Confirmation, good. <meeting-bot> [anonimal] Anyone freenode-side? Is xmrpromotions there? <meeting-bot> [fluffypony] so if we receive a pass we have to prepare an actual proposal <meeting-bot> [fluffypony] but let's see when we get there <meeting-bot> [fluffypony] (if) <meeting-bot> [fluffypony] they were on Reddit the other day, they seem to be busy at the moment <meeting-bot> [fluffypony] they've asked for assistance on the gnu-social thing <meeting-bot> [anonimal] Link? What kind of assistance? I'd be happy to help. <meeting-bot> [fluffypony] I'll have to find it and send it to you post-meeting <meeting-bot> [anonimal] Ok. Anything else on 2.? <meeting-bot> [fluffypony] oh found it, nevermind: https://www.reddit.com/r/Monero/comments/4qywbx/what_are_moneros_pain_points_marketing_design/d4x34p3 <meeting-bot> [fluffypony] nein <meeting-bot> [anonimal] fluffypony: Thanks, I'll look into it later. <meeting-bot> [anonimal] Moving on, <meeting-bot> [anonimal] 3. Discuss SSU: status of #140 and https://github.com/EinMByte/kovri/pull/1 (if applicable), ideas, problems, and solutions (note: ask if @EinMByte will allow issues tracking within his repo) <meeting-bot> [anonimal] So, https://github.com/EinMByte/kovri/pull/1 has been merged <meeting-bot> [anonimal] EinMByte: will you allow issues tracking within your repo? It would help with this bug we're hunting. <meeting-bot> [anonimal] Oops, old paste, we fixed the bug, <meeting-bot> [anonimal] but are still dealing with related issues. <meeting-bot> * anonimal knows Ein is somewhere, we were chatting elsewhere during the bitmonero meeting <meeting-bot> [EinMByte] Hi <meeting-bot> [anonimal] Maybe he still thinks its the previous meeting... <meeting-bot> [anonimal] Hi <meeting-bot> [EinMByte] Yes, I will allow all contributions to my repo <meeting-bot> [EinMByte] Latest issue is: we are sending out broken packets <meeting-bot> [fluffypony] issue tracking has to be explicitly enabled for the repo, EinMByte <meeting-bot> [EinMByte] (but at least the segfault is fixed) <meeting-bot> [fluffypony] it's a setting in github somewhere <meeting-bot> [anonimal] ^ what fluffypony said <meeting-bot> [anonimal] EinMByte: are we in a committable stage for the segfault fix? So I can see where we stand? <meeting-bot> [EinMByte] anonimal: Already committed <meeting-bot> [EinMByte] fluffypony: somewhere where <meeting-bot> [anonimal] I imagine we're sending bogus packets in SessionRequest <meeting-bot> [fluffypony] I'll check <meeting-bot> * anonimal fetching <meeting-bot> [EinMByte] fluffypony: Never mind, I think I got it <meeting-bot> [fluffypony] if there's time, anonimal, can you please explain what SSU is for those who are observing the meeting ? <meeting-bot> [anonimal] Ok, latest commit makes sense. <meeting-bot> [anonimal] Yes, <meeting-bot> [anonimal] tl;dr, in plain english, <meeting-bot> [anonimal] it is one of two transport mechanisms closest to the IP layer: <meeting-bot> [anonimal] NTCP is for TCP, SSU is for UDP. <meeting-bot> [anonimal] SSU essentially takes care of encryption and negotiation with peers at the UDP level. <meeting-bot> [anonimal] Does that make sense, or should I explain more? <meeting-bot> * anonimal fetches link <meeting-bot> [anonimal] Specification here: https://geti2p.net/spec/ssu <meeting-bot> [anonimal] Overview here: https://geti2p.net/en/docs/transport/ssu <meeting-bot> [EinMByte] In case anyone is really listening: we are rewriting the SSU implementation because <meeting-bot> [EinMByte] 1) It doesn't allow for unit tests <uguu> i2p needs a better udp transport <meeting-bot> [EinMByte] 2) The design is bad, because separate concepts are not separated in code (packet parsing was done in the same functions as dealing with networking etc) <meeting-bot> [anonimal] X) it was an unmaintainable nightmare, like much of the codebase that we have yet to refactor. <meeting-bot> [EinMByte] uguu: It probably does, so let's hope SSU2 will be better <meeting-bot> [EinMByte] (I'm not sure what the satus on SSU2 is, AFAIK there's not even a spec yet) <meeting-bot> [anonimal] I had some ideas/problems/solutions when working on everything this week, <meeting-bot> [anonimal] but I need more time to flesh out tangible thought. <meeting-bot> [anonimal] I think we're on the right track, as we discussed earlier. <meeting-bot> [EinMByte] Ok, no problem. Maybe write everything down on github? <meeting-bot> [anonimal] Sure, I'll comment more in #140 or open an issue in your repo. <meeting-bot> [anonimal] Essentially, I want to take a closer look at design this week as I said I would stay away when we last spoke. <meeting-bot> [anonimal] e.g., what we discussed earlier about MAC buffer, etc. <meeting-bot> [EinMByte] Yes, in terms of design many things are currently undecided <meeting-bot> [EinMByte] I've mentioned before that this is more of a refactoring than a rewrite <meeting-bot> [anonimal] Hmm... maybe I have a different vision of end-result then. <meeting-bot> [EinMByte] At least for now, I do want design changes in the end <meeting-bot> [EinMByte] But I wanted to make it less crappy first, and then make it good <meeting-bot> [anonimal] I think I need to get my hands dirty and get more intimate with your new changes. <meeting-bot> [anonimal] I understand, as I said in #1 I completely understand and agree. <meeting-bot> * anonimal no complaints here <meeting-bot> [anonimal] So, long story short, I'd like to get more involved. Any objections EinMByte? <meeting-bot> [EinMByte] Of course not, I can use all help <meeting-bot> * anonimal could work in another branch, but I think our conflicts result in better code <meeting-bot> [anonimal] Ok, I'll comment more in #140, etc. as things progress. <meeting-bot> [anonimal] Anything else on 3.? <meeting-bot> [EinMByte] Not from me <meeting-bot> * anonimal prepares for more pasting <meeting-bot> [anonimal] Anyone here have more SSU questions? <meeting-bot> * anonimal will work on refining better responses to such questions <meeting-bot> [fluffypony] no that's perfect, thanks <meeting-bot> [anonimal] Ok, moving on <meeting-bot> [anonimal] 4. Discuss commit message labeling, e.g., how to organize first line of commits. Touch-up on C4. <meeting-bot> [anonimal] To preface, before discussing commit titles, none of this can really be enforced at the moment because there is no payout hanging over anyone's head. <meeting-bot> [anonimal] But our guide does ask to reference applicable ticket numbers in commit bodies - and its incredibly helpful. <meeting-bot> [anonimal] I'm trying to be better about doing this and I hope EinMByte would also consider doing this too. <meeting-bot> [anonimal] It should be noted that there is no mention in the guide or C4 about commit title. <meeting-bot> [anonimal] I've been using a rough system of prepending titles with class or aspect of project worked on. <meeting-bot> [anonimal] It does help for quick git-log searches. Again, not enforceable, but it does help IMHO. <meeting-bot> [anonimal] Thoughts? Objections to adding to guide? <meeting-bot> [fluffypony] can you give me an example of the prepending? <meeting-bot> [anonimal] Yes, one moment. <meeting-bot> [EinMByte] anonimal: I've noticed that you tend to include a longer summary <meeting-bot> [anonimal] fluffypony: Basically what's before the colon https://github.com/EinMByte/kovri/pull/1 <meeting-bot> [EinMByte] I currently don't do that, but if you think it's worth it, I can start doing that <meeting-bot> [EinMByte] Other than that, the main thing should be that it should be reasonably clear what the commit is about <meeting-bot> [fluffypony] oh yeah that's cool <meeting-bot> [EinMByte] But we all do that already <meeting-bot> [EinMByte] I'm fine with stricter rules, just don't shout at me too much when I forget about them :p <meeting-bot> [fluffypony] I tend to do short summaries too, but I like the prepending thing <meeting-bot> [anonimal] EinMByte: I agree. If I were to ask of anything, it would be to references issues that commit addresses. <meeting-bot> [anonimal] Other than that, I personally couldn't ask you to write longer summaries. Honestly, most of what you commit I understand anyway because its well-written IMHO - but that's just me. <meeting-bot> [anonimal] So, as usual, I think about everyone else who isn't knee-deep in our mess. <meeting-bot> [anonimal] And maybe longer summaries would help? <meeting-bot> [anonimal] But 4. for me was more about commit title. <meeting-bot> [EinMByte] Ok, I'll try to reference issues more often <meeting-bot> [fluffypony] I don't think longer summaries are massively necessary as long as the commits show the route taken to get there, referencing issues is definitely helpful <meeting-bot> [EinMByte] (not in the title, though) <meeting-bot> [anonimal] Ok. So shall we take a vote on adding 'prepend class or project aspect into title of commit' into contributing guide? <meeting-bot> [anonimal] (again, at this time not enforceable - just helpful) <meeting-bot> [fluffypony] I'm fine with it <meeting-bot> [anonimal] + me = 2 yes. Anyone else? <meeting-bot> [anonimal] As fluffypony pointed out long ago, its not like anyone reads contributing guides anyway ;) <meeting-bot> [fluffypony] hah hah yeah <meeting-bot> [EinMByte] Sure <meeting-bot> [fluffypony] but at least it's there and we can encourage it <meeting-bot> [EinMByte] ^ <meeting-bot> [anonimal] Ok, good point on the encouragement. <meeting-bot> [fluffypony] hey - we managed to get most Monero contributors to GPG sign commits, so it is doable :) <meeting-bot> [anonimal] Great, done. <meeting-bot> [anonimal] While we're on 4., this is off-the-cuff, <meeting-bot> [anonimal] but bitmonero is working with only 1 branch now. <meeting-bot> [anonimal] And, C4 kind of dictates that (IIRC). <meeting-bot> [anonimal] So, do we scrap branch development and work solely in master? <meeting-bot> [fluffypony] note that we have a use-case for moving back to the dev branch setup, because people just pull and compile <meeting-bot> [anonimal] I've also used arguments for two branches. I'm curious to hear EinMByte's opinion. <meeting-bot> * anonimal sigh, I2P lag <meeting-bot> * anonimal doesn't want to move on yet, running out of time though <meeting-bot> [EinMByte] anonimal: Not sure, I think it's good to have a stable branch <meeting-bot> [EinMByte] also, it doesn't hurt anyone? (I think) <meeting-bot> [anonimal] The argument is to instead warn users that anything that is built outside of a tagged version is... well, unpredictable. <meeting-bot> [anonimal] But, since we don't have any releases yet... <meeting-bot> [EinMByte] There's "unpredictable" and there's "possibly broken" <meeting-bot> [EinMByte] In my opinion those are not really the same <meeting-bot> [anonimal] Good point. I imagine though that broken branches would stay in forks and then, when fleshed out, could be sent to 1 branch master. <meeting-bot> [anonimal] But then that would require more work maintainer-side. <meeting-bot> [anonimal] Ay, too many options. <meeting-bot> [anonimal] I vote to keep two branches for now. <meeting-bot> [anonimal] Yea or Nay? <meeting-bot> [EinMByte] ok, let's keep the branches and move on :) <meeting-bot> [anonimal] Ok, moving on. <meeting-bot> [anonimal] 5. Review open tickets (assigned and/or unassigned): status, code ideas (if applicable), etc. <meeting-bot> [anonimal] My hands have been tied to SSU as we've discussed. I did hack a fix for the massive leak in #191. <meeting-bot> [anonimal] It appears to be related to LogPrint and possibly GetFormattedSessionInfo(). I need more time with it and to produce a smoother fix. <meeting-bot> [anonimal] But it doesn't address a few smaller leaks related to #191. <meeting-bot> [anonimal] So, between now and next meeting, I'm somewhat sure I'll focus on SSU, #191, and getting a windows build in working order. <meeting-bot> [anonimal] And in that order. <meeting-bot> [EinMByte] Ok <meeting-bot> [anonimal] but I also may start drafting a FFS proposal for a chunk of that time (I said I would last meeting). We'll see. <meeting-bot> [fluffypony] +1, FFS proposals are welcome <meeting-bot> [anonimal] EinMByte: do you think you'll be around sometime this coming week or the following week? Or are weekends better? <meeting-bot> [anonimal] fluffypony: would you please refresh my memory on the zoho/fastmail decision (my brain is scattered at the moment)? <meeting-bot> [EinMByte] I'll be around a few hours a day, but more actively in weekends <meeting-bot> [fluffypony] started the process a few days ago, we're doing Zoho <meeting-bot> [anonimal] EinMByte: sounds great. <meeting-bot> [anonimal] fluffypony: sounds great. <meeting-bot> [anonimal] Many great sounds! <meeting-bot> [fluffypony] everyone can independently forward their mails to tutanota or i2pmail, or just use the Zoho mailbox <meeting-bot> [anonimal] I'm looking forward to zoho's /projects, especially time-management. <meeting-bot> [anonimal] Kimai is a horrid #()@#)$@#$#@ <meeting-bot> [anonimal] If anyone has experience using it... <meeting-bot> [fluffypony] never heard of it, will take a look <meeting-bot> [fluffypony] or not if it's horrible <meeting-bot> * anonimal surprised at the lack of free, personal, opensource, time-management/billable hours solutions out there <meeting-bot> [fluffypony] MS Project <meeting-bot> [anonimal] IMHO you should, it may be humorous. <meeting-bot> [fluffypony] :-P <meeting-bot> [anonimal] I can't knock their work though, I applaud what they're doing, I just wish I had more time to contribute to their project. <meeting-bot> [fluffypony] is it meeting.end time? <meeting-bot> [anonimal] Eek, one more thing. <meeting-bot> * anonimal one more paste coming <meeting-bot> [anonimal] 6. Discuss any pertinent TODO's <meeting-bot> [anonimal] In SSU: we're closer to resolving #119 with our new design. I've noted a few spots of missing implementation that I think will be resolved during the refactor. <meeting-bot> [anonimal] I had mentioned in the most recent PR my interest in more sanity tests, and EinMByte did note a few overflow checks. <meeting-bot> [anonimal] I think we're still discussing design though, so that would come a little later. <meeting-bot> [anonimal] Thoughts? <meeting-bot> [EinMByte] Yes, we have many places where we need more checks <meeting-bot> [EinMByte] at least we won't leak if we throw errors etc due smart pointer usage <meeting-bot> [EinMByte] Eventually I want to rely on exception for error handling, and I want to use the error information for peer profiling <meeting-bot> [anonimal] Ooooooooooooooo, I like that...... <meeting-bot> [anonimal] I like that ALOT. <meeting-bot> [anonimal] Yes, smart pointers: something the previous project had very little interest in; <meeting-bot> [anonimal] despite the standard having been out for years. <meeting-bot> [anonimal] Anyway, I won't start bashing as we're out of time (I love a good bashing). <meeting-bot> [anonimal] Anything else on 6.? <meeting-bot> [anonimal] If not, then 7.? <meeting-bot> [fluffypony] nothing else from my side <meeting-bot> [fluffypony] next meeting same time, same place, two weeks? <meeting-bot> [anonimal] Works for me. <meeting-bot> [EinMByte] Should be fine <meeting-bot> [fluffypony] sehr gut <meeting-bot> [zzz] will we see any kovri ppl at HOPE in 3 weeks? <meeting-bot> [fluffypony] zzz: unfortunately not me, need to do no travelling for a little bit <meeting-bot> [fluffypony] got too much work to do, lol <meeting-bot> [EinMByte] not me either <meeting-bot> [anonimal] I had planned late last year but things took a completely different turn so, nope, not this time around. <meeting-bot> [zzz] ok, I believe echelon still has a ticket to sell, if anybody needs it <meeting-bot> [anonimal] Thanks zzz. That echelon, quite the organizer :) <meeting-bot> [anonimal] Anything else? Meeting? <meeting-bot> [anonimal] I want to also thank fluffypony and dEBRUYNE and anyone else for their work on getting these logs up on the site. <meeting-bot> [fluffypony] it's mostly dEBRUYNE, I just add spaces in at the end <meeting-bot> [anonimal] lol, nice. <meeting-bot> [anonimal] Ok, thanks everyone for the great meeting. <meeting-bot> [fluffypony] thanks everyone <meeting-bot> [fluffypony] meeting-bot going offline