Skip to content
This repository has been archived by the owner on Feb 8, 2023. It is now read-only.

Create 2018-08-20--go-core-dev-team-weekly.md #683

Merged
merged 2 commits into from
Aug 20, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
204 changes: 204 additions & 0 deletions meeting-notes/2018/2018-08-20--go-core-dev-team-weekly.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
# 💫Golang Core Dev Team Weekly Sync 🙌🏽 August 20, 2018

- **Lead:** Dominic Della Valle
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@djdv thank you for hosting ❤️

- **Notetaker:**
- @bigs
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bigs thank you for notetaking 🌟

- **Attendees:**
- @mgoelzer
- @keks
- @djdv
- @stebalian
- @kevina
- @hsanjuan
- @Magik6k
- **Recording:** _add link to recording once it's online_
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note, we need to say that the recording is private to the Go Core Dev Team


## Agenda

- Ask everyone to put their name into the list of attendees
- Round of updates
- What have you accomplished since the last Weekly?
- Were there any blockers? If so, which ones? Is it still blocked? Why?
- What is the next important thing you should focus on?
- Ask for general questions. Could be things like:
- I'm stuck with something, I don't know who to ask. Who knows who to ask?
- Who can help me with xyz?
- Plan this week
- Select issues to work on
- Review remaining issues if there is time left


## Notes

### Week Update

@name
- Done:
- Blocked:
- Next:

@djdv
- Done:
- Refined the IPFS on fuse implementation
- Added caching around things like pins, keys, and metadata
- Reduced lock contention
- Reworked how indexes are generated and referenced
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@djdv Can you do a demo of it working on Windows? @hacdias will be excited about it for IPFS Desktop for sure and @alanshaw will be able to give it a new spin with https://www.npmjs.com/package/ipfs-fuse

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have an informal demo of the original implementation here: ipfs/kubo#5003 (comment)
The refinement is the same, just much faster.
I plan to do a proper demo when this is closer to completion (still working on write support).

- Added fs stat data
- free space remaining on daemon's datastore device
- available file descriptors/handles
- Partial symlink support
- they work with *nix tools and Go's os pkg but not win32
- Blocked:
- Previously I wanted to work on write support, but was blocked on an issue related to file permissions
- This was resolved while refactoring
- Currently I'm dealing with an issue related to file ownership
- I am currently in contact with the cgofuse developer about it
- Currently working around this by setting everything to 0777, later node owners will be the same as the process owner/invoker
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@djdv anything that anyone in the Go Core Dev Team or PL can do to help here or is this under your control? Just let me know :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Things should be good for the moment ;^)

- Next:
- Add create, write, and delete methods for MFS
- Experiment with mutable methods in non-mutable areas
- rmdir/del -> unpin; for files directly under the ipfs root
- write -> add -w

@diasdavid (Unsure if will have good connectivity for this one)
- Done:
- Done more interviews (almost there, only 3 that still need to be scheduled)
- Request DX Team to get go-ipfs, go-libp2p and go-ipld Packages table https://github.com/ipfs/testing/issues/128
- Blocked:
- Next:
- Finish the interviews/chats
- Compile all the notes from the interviews/chats into something easy to consume by everyone in the Go Core Dev Teams

@kevina
- Done:
- In Progress: Begin new "cid" sub-command https://github.com/ipfs/go-ipfs/pull/5385
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kevina Is this for CIDv0 to CIDv1 migration? Please create an issue on http://github.com/ipfs/specs so that the other IPFS implementations and Client libraries can keep up.

//cc @alanshaw @hugomrdias @achingbrain

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was something that I consider go specific and something I want to put into a spec. One of the things it does is to provide a way to convert CIDs to base32 CIDv1. I considered making it a separate utility but that will be a separate binary that might not be installed. If it was part of go-ipfs it is nearly guaranteed to be available when if its a separate utility

- Needs Review: Extract parts of go-cid into go-cidutil https://github.com/ipfs/go-cid/pull/69
- In Progress: Add support for inlinling via the id-hash https://github.com/ipfs/go-ipfs/pull/5281
- [WIP] Start work towards switching blockstore to use Multihashes: https://github.com/ipfs/go-ipfs-blockstore/pull/13
- Various work towards Base32 CidV1 (see Other notes section)
- Blocked:
- Various aspects of Base32 CidV1 need feedback (see Other notes section)
- Next:
- Continue Base32 CidV1 work
- Continue In progress P.R.

@schomatis (not attending)
- Done:
- `gx`:
- Unify dependency fetching in `gx` (https://github.com/whyrusleeping/gx/pull/197)
- Review part of the documentation (https://github.com/whyrusleeping/gx/issues?q=is%3Aissue+is%3Aopen+label%3Adocumentation).
- Encourage some community contribution.
- In progress: Badger integrity (`go-ipfs`: #5213, #5280) and memory (#5177, #5390) issues.
- - Notes from @bigs:
- When Commit(nil) returns (as we have it implemeneted in go-ds-badger), entries have been committed to the WAL at least and should be truncate-safe.
- Next:
- Ease the use of `gx-go link` when dependencies don't match, e.g., developing in `go-unixfs` and testing in `go-ipfs` (https://github.com/whyrusleeping/gx-go/issues/46).
- Keep working on `gx` docs and code clarity.
- Incorporate the feedback of the DAG traversal PR (https://github.com/ipfs/go-ipfs/pull/5257) and split it in the corresponding repos (`go-unixfs` and `go-ipld-format`). PR under review.

@stebalien
- Done:
- IPLD:
- thinking through go-ipld interfaces from a performance perspective (no concrete progress)
- have a plan to fix the interfaces and move to the IPLD org: https://github.com/ipld/go-ipld/issues/2
- fix (in review): stop go-libp2p from NAT port mapping non-nat (e.g., localhost) addresses.
- fix (in review): stop go-ipfs from listening on random ports.
- misc fixes, reviews, gx
- Next:
- multistream-select (again)
- continue work on IPLD interfaces/migration.
- Blocked:
- @daviddias: [Remove bitswap unwant](https://github.com/ipfs/go-ipfs/pull/5308)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Followed up, here ipfs/kubo#5308 (comment)

- @daviddias: [New multiaddr protocol](https://github.com/multiformats/multiaddr/pull/68)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've followed up. Feel that I need to do lot more reading before signing off such a thing (lot's of RFCs to read and context to absorb) and unfortunately I've very limited time right now to go that deep exploring.

Can you give me a date in which this becomes critical to not be solved? Or, better, can do you a 5 minute presentation with your brain dump?

- Ask:
- Please review PRs!
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which ones?

- Bug me if you're blocked on something.

@Magik6k
- Done:
- Coverage from Jenkins - https://github.com/ipfs/go-ipfs/pull/5389
- Needs a review + some admin actions
- Rebasing / finishing PRs
- Blocked:
- Next:
- get go-cidutil to be released on gx for coreapi/dht - https://github.com/ipfs/go-ipfs/pull/4804
- + update the PR to use it
- More coreapi command refactoring
- `ipfs name resolve --stream` (@stebalien says ❤️)
- workaround peerHost.SetStreamHandler not returning errors by using SetStreamHandlerMatch instead (for `ipfs p2p` refactor)

@keks
- Done:
- cmds refactor is on it's way
- development branch of go-ipfs now uses newest version of refactored cmds lib
- sharness tests fail
- start of discussion on gx-gomod
- https://github.com/whyrusleeping/gx/issues/200
- Blocking:
- keep gx-gxmod discussion alive (not urgent on my side)
- get https://github.com/ipfs/go-ipfs/pull/5035 reviewed (not *super* urgent)
- Next:
- fix sharness tests
- continue designing gx-gomod

@hsanjuan
- Done:
- Another round. Refs -r: https://github.com/ipfs/go-ipfs/pull/5337
- Extract MFS (waiting OK): https://github.com/ipfs/go-ipfs/pull/5391

- Blocked:
- Next:

@bigs
Copy link
Member

@daviddias daviddias Aug 22, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

- Done:
- Reversible netdefs and subnet support (feat/subnets on go-netdef)
- Update existing netdef tool
- Coral pairing with @carospiegly
- Merged go-datastore and go-ds-badger changes!
- Blocked:
- Next:
- Link options for subnet-to-subnet links in netdef
- Collision-free namespacing for netdef
- Helping boot up @raulk on Peerstore chnages
- Notes:
- OOO second half Thursday, all Friday

@mgoelzer
- Done:
- OKRs - wrangling everyone for mid-quarter scores; mid-qtr report to LabOS
- Scheduling some recruiting meetings for September
- Recruiting spreadsheet for Thr meeting


- Blocked:
- Not blocked -- just not enough hours in the day!


- Next:
- Plan September trip to Bay Area to maximize chances to recruiting 1 or more great Go engineer s
- Waffle cleanup
- Continue developing go/js/rust interop demo
- Docs improvement SOW and interviews
- Rust dev shop SOWs
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mgoelzer I don't have any particular thing against sharing this kind of update here, but have in mind that this is a call focused for Dev of the Go implementations of IPFS, libp2p and IPLD and not for PM'ing or Protocol Labs

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 - noted for future ref



### Questions

### Other notes

**Base32 CidV1 Progress:**

_(Mostly Copied From Last Week)_

@kevina has been working steadily toward the goal to switch to base32. Go-ipfs now can retrieve a block regardless of what CID version it is in.

He has created a a meta issue for tracking the progress in go-ipfs: https://github.com/ipfs/go-ipfs/issues/5358

He will continue to work steadily towards the goal but needs feedback on several issues:
* Handling of Alternative Multibases [#5349](https://github.com/ipfs/go-ipfs/issues/5349) _(could use feedback from: @Stebalien @lidel @lgierth)_
* How to handle CIDv0 as we migrate to CIDV1 [#5291](https://github.com/ipfs/go-ipfs/issues/5291) _(could use feedback from: @whyrusleeping @Stebalien)_
* Create config option for specifying full default cidv1 parameters [#5230](https://github.com/ipfs/go-ipfs/issues/5230)

#5349 and #5230 and are the most pressing and blocking full multibase support in go-ipfs. #5291 is less pressing but he would really appeciate @daviddias and @whyrusleeping insight.

For all issues and p.r. related to Base32 CidV1 search using the `cidv1b32` tag: https://github.com/ipfs/go-ipfs/labels/cidv1b32